通过bash将Ctrl + d发送到服务器

问题描述 投票:0回答:1

我正在编写一个脚本,要求您在完成输入时按control + d。我想发送这个命令,这样我就可以编写我的工作脚本而不必重做我的工作。

bash rhel6
1个回答
1
投票

您可能正在谈论“传输结束”分隔符,它用于指示用户输入的结束。如果是这种情况,那么您始终可以将数据传输到脚本中。也就是说,而不是这个:

$ test_script.sh
My input!
^D

您将该数据写入文件:

$ cat > input
My input!
^D

然后将其传入脚本:

$ test_script.sh < input

不需要^D,因为一旦完全读取该文件,脚本就会相应地发出信号。 < shell运算符将STDIN切换为从文件而不是终端读取。同样,>可用于捕获程序的输出并将其保存到文件中,如此处的第二步所述,尽管您可以使用任何您想要创建或编辑该输入文件的工具。

这适用于几乎任何脚本语言,从Python,Perl,Ruby到Node.js以及bash和其他shell。

© www.soinside.com 2019 - 2024. All rights reserved.