如何在终端中输入正在运行的进程

时间:2018-05-16 03:07:09

标签: linux shell terminal

我想在Linux中创建一个脚本,它启动一个程序(在终端中),然后在已经运行的程序的上下文中写下我想要的内容。 例如,我有myScript.sh:

#!/bin/bash
echo "I want to open pgcli"
pgcli -h #ARGUMENTS#
....

当我从终端运行它时,当 pgcli 启动时,这当然会卡住。当我手动完成它时,执行以下语句。 我想要做的是:当 pgcli 启动并询问密码时,脚本会在程序的上下文中写入密码(然后是另一个SQL语句)。

这可以在脚本中完成吗?如果是的话,我怎么能这样做? 谢谢!

1 个答案:

答案 0 :(得分:0)

假设您的程序从stdin读取, 如果你有一个文件包含所有需要的输入,如下所示:

password
sql query1
sql query2

然后你可以做类似的事情:

cat input | pgcli
在你的脚本中

。或者只是做

echo "input" | pgcli