git - 在使用 sudo bash 运行的脚本中运行没有 sudo 的特定命令

标签 git bash shell ubuntu sudo

我有一个使用 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/

相关文章:

git - 使用 SourceTree 在 Git 中检索已删除的存储

Python 无法识别 MacPorts 安装包

linux - 如何使用 bash 获取字符串中函数的内容?

python - 将 python 脚本作为命令行变量运行

git - 如何使用 TFVC 轻松存储和切换代码版本

git - 如何获取包含特定文件的 git 标签列表?

linux - 根据输入文件从 csv 中删除行

bash - 刷新 sed 中的命令

bash - 在 Bash 中命名常量的约定是什么?

GIT,在正确的分支中进行更改