![为在另一个脚本中调用的脚本开始提供密码](https://linux22.com/image/61640/%E4%B8%BA%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%B0%83%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E5%BC%80%E5%A7%8B%E6%8F%90%E4%BE%9B%E5%AF%86%E7%A0%81.png)
我编写了一个 shell 脚本,该脚本依次调用另一个脚本,但第二个脚本提示输入密码。我想提供密码并通过提示而不通知用户。
这是我的脚本:
su - s3 -c "su.sh"
我尝试过:
su - s3 -c "echo pass | su.sh"
但我收到一个错误:
standard in must be a tty
更新:
命令的屏幕截图。
我也累了:
su - s3 -c "echo mypass|sudo -S su.sh"
但出现另一个错误:
sudo: sorry, you must have a tty to run sudo
su.sh 命令:
if [ ! -n "$IS_WINDOWS" ]
then
/bin/su root -c "...."
fi
答案1
答案2
您可以使用预计程序在询问密码时提供响应。请注意,这也存在硬编码密码的安全问题,通常最好设置 sudo 规则来无密码执行命令。