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

script.plЗапущенные: стандартный ввод: неприемлемое IOCTL для устройства

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 

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

+0

Первый шаг - показать нам, что делает скрипт, чтобы вызвать эту ошибку, то есть: соответствующие биты «script.pl» – mfontani

+0

Я обновил вопрос – Tree

ответ

3

Я думаю, что проблема вы читаете из перенаправлены STDIN (потому что вы < file.txt)

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

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