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

标签 linux shell terminal

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

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

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

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

最佳答案

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

password
sql query1
sql query2

然后你可以这样做:

cat input | pgcli

在你的脚本中。或者只是做

echo "input" | pgcli

关于linux - 如何在终端中输入正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361909/

相关文章:

linux - 在管道之后无法在源脚本中更改 bash 变量?

mysql - Linux bash MySQL 载入文件

php - 以编程方式确定最大文件名长度

linux - shell 脚本 - 将一个变量分配给另一个 - 数组

Python子进程执行远程服务器命令

c - linux 查找调用的命令

python - 从已经定义的变量中打印颜色

linux - SSH,运行进程然后忽略输出

C++ 终端应用程序并发输入和输出

c++ - 包含io.h header 文件遇到问题,io.h文件没有结构_finddata_t