4

有一个交互式 shell 控制台,我可以进入它,在控制台中运行特定的命令集并从中退出。

现在我想编写一个连接到交互式 shell 控制台并静默运行我的命令的 bash 脚本,最后退出而没有任何交互。这意味着我希望以非交互方式将所有内容自动化。任何想法我怎样才能做到这一点?

我正在尝试类似 blabla shell 是这里的交互式控制台,它总是让我进入交互模式:(

/usr/bin/blabla shell << EOF 
do A,
do B,
do C
quit
EOF

我有一个长/特定版本的这个问题可以在这里找到-> 在 shell/bash 脚本中配置水槽-避免交互式水槽 shell 控制台

4

4 回答 4

3

关闭stdin应该可以解决问题:

exec <&-
于 2012-06-01T13:43:10.077 回答
1

命令如果你的expect朋友。即使以非常复杂的方式,它也可以模拟与其他命令的交互通信。

人的期望

Expect 是一个根据脚本与其他交互式程序“对话”的程序。

于 2012-06-02T15:43:29.643 回答
0

您可以尝试将在交互式提示中输入的命令放入文件中,然后运行如下命令:

command < file
于 2012-06-02T14:57:58.027 回答
0

也许Secure SHell 可以满足ssh您的需要。它要求将“远程”机器配置为 SSH 服务器。我经常使用它在其他主机上运行命令,例如

 ssh user@host command
于 2012-06-02T16:56:33.307 回答