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

时间:2017-12-28 20:06:11

标签: bash rhel6

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

1 个答案:

答案 0 :(得分: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。