如何使用 bash 脚本将输入从一个脚本发送到另一个脚本

如何使用 bash 脚本将输入从一个脚本发送到另一个脚本

我想通过 shell 脚本将输入从一个脚本发送到另一个脚本

当我停止此脚本时,它会显示消息“你想继续吗”

$MAIN_SCRIPT_PATH/first.sh stop

我正在使用另一个脚本停止该脚本。我需要向该脚本发送 yes first.sh。我将如何做到这一点?

当停止first.sh时,它会要求用户输入。你想继续吗?我应该发送是的....

答案1

您可以尝试写入脚本的标准输入,看看是否有效。例如,

echo yes | $MAIN_SCRIPT_PATH/first.sh stop

否则,有些程序expect允许您在模拟用户输入之前等待某些提示。

此外,如果它要求确认停止而不提供任何其他选项,那么这是一个写得不好的脚本。查看是否first.sh --help显示有关跳过用户输入的任何附加信息。脚本通常有一个-y/ -q/-s选项来静默用户输入。

答案2

在 Linux 上,coreutils 包甚至还提供了该yes命令。所以你会运行:

yes | $MAIN_SCRIPT_PATH/first.sh stop

相关内容