我有一个 shell 脚本,它需要非 root 用户帐户来运行某些命令,然后将用户更改为 root 以运行脚本的其余部分。我正在使用 SUSE11。我用过expect来自动化密码提示。但是当我使用 spawn su - 并且命令被执行时,提示会以 root 身份返回,并且脚本的其余部分不会执行。
例如。
< non-root commands>
spawn su -
<root commands>
但是在 su - 之后,提示以 root 用户身份返回。如何执行剩余的脚本。
sudo -S 选项没有帮助,因为它不运行我需要查找机器 IP 地址的 sudo -S ifconfig 命令。
我已经浏览了这些链接,但找不到解决方案: Change script directory to user's homedir in a shell script