我有一个使用 sudo
运行的 bash
脚本:sudo NewScript
在脚本中,我有一个 git
命令,我不想用 sudo
运行它。目前,由于整个脚本是使用 sudo
运行的,因此此命令也使用 sudo
运行,这就是我想要抑制的内容。
这样的事情是可能的还是我需要在没有 sudo
的情况下运行脚本并为脚本中除 git
之外的每个命令添加 sudo
> 命令?
最佳答案
请注意,sudo
以不同 用户身份运行程序,不一定以 root
用户身份运行程序; root
只是默认设置。因此,您的目标可能不是在没有 sudo
的情况下运行特定的 git
命令,而是以与其他用户不同的用户身份运行它。
如果你想让你的 git 命令被一个硬编码的用户 the_user
运行,就把
sudo -u the_user <your git command>
在您的脚本中(当脚本以根用户身份运行时,这不会提示您输入密码)。
如果您事先不知道用户,而是希望 git
命令由调用 sudo newScript
的人运行,请使用
sudo -u $SUDO_USER <your git command>
相反(感谢@thatotherguy 的提示)。
关于git - 在使用 sudo bash 运行的脚本中运行没有 sudo 的特定命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41366023/