如何在 shell 脚本中直接向 sudo su -<someuser> 提供密码

raa*_*ara 3 linux sudo bash shell

我需要在sudo su -<someuser>要求输入密码的shell 脚本中实现自动化。

如何直接向 IBM AIX 服务器的 sudo su - in shell 脚本提供密码。我试过使用echo <password> | sudo su -<someuser>它没有用 。请对此提供帮助。

chl*_*soe 5

-S

man sudo

-S, --stdin 将提示写入标准错误并从标准输入读取密码,而不是使用终端设备。密码后必须跟一个换行符。

所以你可以使用:

echo <myPassword> | sudo -S su <someuser>

编辑:以上在测试 Ubuntu 上不起作用。提示密码查询后,第二个命令“su”似乎是快速的。

我做了一个解决方法等待一秒钟,以便可以填写回显的密码,然后第二个 sudo 应该能够运行sudo su - foobar

echo "password" | sudo -S sleep 1 && sudo su - foobar
Run Code Online (Sandbox Code Playgroud)