我想通过 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