stty: стандартный ввод: неподходящий ioctl для устройства - PullRequest
3 голосов
/ 27 октября 2010
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

Что это за ошибка? Как мне решить это?

1 Ответ

3 голосов
/ 27 октября 2010

Я думаю, что проблема в том, что вы читаете с перенаправленного STDIN (потому что вы

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

Вероятно, вы должны передать свой файл в качестве параметра в ваш скрипт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...