如何使用 su 在 shell 脚本中传递密码(不带 sudo 和 except)?我试过 echo "password" | su root -c 。但它不起作用。
执行此操作的最佳方法是使用sudo,但由于您不需要最佳解决方案,script因此您可以使用:
{ sleep 3; echo "yourpassword"; } | script -q -c 'su -c whoami' /dev/null
Run Code Online (Sandbox Code Playgroud)
这将打印root的输出whoami。
请确保在尝试调整该命令以运行您自己的命令之前逐字尝试此命令(替换密码),因为调整它很困难且容易出错。