Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用脚本自动回答TTY提示_Linux_Shell_Command Line_Tty - Fatal编程技术网

Linux 使用脚本自动回答TTY提示

Linux 使用脚本自动回答TTY提示,linux,shell,command-line,tty,Linux,Shell,Command Line,Tty,我看到很多关于用提示回复的帖子 回音“是”|您的|脚本 但是,如果提示是通过TTY发出的,那么执行类似于上面的操作会导致异常呢 程序正在尝试读取用户输入,但stdin正在从其他源(不是TTY)通过管道传输。 从我所读到的内容来看,使用TTY提示似乎是为了提高安全性。这有什么办法吗?很有趣。。。当我尝试echo'a'| read;echo$REPLY,既不在TTY也不在xterm中,但也没有输出。是的,您应该使用像expect这样的插入程序。对于简单的情况,您可以只使用脚本(1):{sleep.1

我看到很多关于用提示回复的帖子

回音“是”|您的|脚本

但是,如果提示是通过TTY发出的,那么执行类似于上面的操作会导致异常呢

程序正在尝试读取用户输入,但stdin正在从其他源(不是TTY)通过管道传输。


从我所读到的内容来看,使用TTY提示似乎是为了提高安全性。这有什么办法吗?

很有趣。。。当我尝试
echo'a'| read;echo$REPLY
,既不在TTY也不在
xterm
中,但也没有输出。是的,您应该使用像
expect
这样的插入程序。对于简单的情况,您可以只使用
脚本(1)
{sleep.1;echo yes;}| script/dev/null-qc您的脚本
@Quasímodo您如何知道该脚本正在使用示例中的
read
?(哪一个btw被破坏了,它不会设置
$REPLY
,也不会回显
a
)@mosvy是的,我没有,只是试图重现这种行为。我错过了
read
部分是在子shell中运行的,因此
$REPLY
将为空
echo'a'{read;echo$REPLY;}
但是会输出
a
。有趣。。。当我尝试
echo'a'| read;echo$REPLY
,既不在TTY也不在
xterm
中,但也没有输出。是的,您应该使用像
expect
这样的插入程序。对于简单的情况,您可以只使用
脚本(1)
{sleep.1;echo yes;}| script/dev/null-qc您的脚本
@Quasímodo您如何知道该脚本正在使用示例中的
read
?(哪一个btw被破坏了,它不会设置
$REPLY
,也不会回显
a
)@mosvy是的,我没有,只是试图重现这种行为。我错过了
read
部分是在子shell中运行的,因此
$REPLY
将为空
echo'a'{read;echo$REPLY;}
但是会输出
a