在shell脚本中传递su密码

Vij*_*ugu 3 shell sudo su

如何使用 su 在 shell 脚本中传递密码(不带 sudo 和 except)?我试过 echo "password" | su root -c 。但它不起作用。

tha*_*guy 5

执行此操作的最佳方法是使用sudo,但由于您不需要最佳解决方案,script因此您可以使用:

{ sleep 3; echo "yourpassword"; } | script -q -c 'su -c whoami' /dev/null
Run Code Online (Sandbox Code Playgroud)

这将打印root的输出whoami

请确保在尝试调整该命令以运行您自己的命令之前逐字尝试此命令(替换密码),因为调整它很困难且容易出错。