我有一个简单的shell脚本,大部分需要使用sudo运行,但是脚本中的一个Homebrew安装命令不能用sudo执行。 所以我的问题是,当使用sudo执行shell脚本时,如何以当前用户身份执行子命令,然后继续使用sudo执行脚本的其余部分。 不太实际让用户再次输入密码,因为脚本执行时间较长,需要等待5-10分钟才能提示。
最简单的方法是通过脚本内使用 sudo 运行子命令。要运行的用户ID可以通过 $SUDO_USER 获取(查看 sudo env 的输出):sudo -u $SUDO_USER ./exec_as_normal_user.sh