微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-stty:标准输入:设备的不适当的ioctl

perl script.pl --f1="t1" --f2="t2" --f3="t4" --f4 < /home/joe/a.txt 

script.pl

use Getopt::Long;
my ($f1, $f2, $f3, $f4) ;
Getoptions (
            'f1=s' => \$f1,
            'f2=s' => \$f2,
            'f3=s' => \$f3,
            'f4' => \$f4, );
if ($f1) {
    system('stty -echo');
    print "Password:";
    $pwd = <STDIN>;
    system('stty echo');
}

我收到此错误

stty: standard input: Inappropriate ioctl for device
Password:stty: standard input: Inappropriate ioctl for device

这是什么错误?我该如何解决

解决方法:

我认为问题是您正在从重定向的STDIN中读取(因为您< file.txt)

$perl -e 'system("stty -echo");' </tmp/foo
stty: standard input: Inappropriate ioctl for device

您可能应该将文件作为参数传递给脚本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐