【发布时间】:2012-07-23 02:58:12
【问题描述】:
我有一个 shell 脚本,它需要非 root 用户帐户来运行某些命令,然后将用户更改为 root 以运行脚本的其余部分。我正在使用 SUSE11。 我用过expect来自动化密码提示。但是当我使用 产卵苏 - 并且命令被执行,提示以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
【问题讨论】:
-
如果你使用
bash,你可以创建一个函数并将定义传递给sudo:unix.stackexchange.com/questions/269078/…