我有一个简单的shell脚本,它是通过sudo运行的,因为大多数脚本都需要它,但是脚本中的一个命令是Homebrew install,它不能用sudo执行。
因此,我的问题是,在使用sudo执行shell脚本时,如何以当前用户身份执行子命令,然后使用sudo继续脚本的其余部分。
提示用户再次输入密码并不实际,因为脚本需要很长时间才能执行,并且需要等待5-10分钟才能得到提示。
发布于 2013-01-15 18:48:11
最简单的方法是在脚本中通过sudo
运行子命令。运行所使用的用户id可以通过$SUDO_USER获得(查看sudo env
的输出):
sudo -u $SUDO_USER ./exec_as_normal_user.sh
发布于 2013-01-15 20:47:51
使用以下命令实例化shell
sudo -u $USER_NAME bash
并通过调用执行外壳脚本,
./program.sh
https://stackoverflow.com/questions/14335825
复制相似问题