是否有正确的方法可以使用脚本更改用户的shell变量,具体取决于他们使用的shell?如
GITSHELL=/bin/bash
if [ GITSHELL = $SHELL ]
then
chsh git -s /usr/bin/git-shell
else
chsh git -s /bin/bash
显然这有一些问题。我不知道怎么说这个,所以我可以 答:以root身份运行它仍然会在某处使用su或者在某处使用su来调用用户git的shell而不是root用户 B:将它作为git和su -c root运行,以便在初始化之后更改git的shell?
我的目标是让我可以运行一个脚本,以便在我需要该用户暂时具备创建文件夹和运行git init --bare的能力时,将用户git的shell更改为bash。然后我会再次运行脚本,以便出于安全原因将shell更改回git-bash。 这是可能的,还是应该以不同的方式进行?
答案 0 :(得分:1)
让用户通过环境变量进行控制。只需像这样编写脚本:
: ${GITSHELL:=/usr/bin/git-shell}
git -s "$GITSHELL"
现在,除非明确覆盖,否则您的脚本将使用/usr/bin/git-shell
:
$ ./script.sh # use /usr/bin/git-shell
$ GITSHELL=/bin/bash ./script.sh # use /bin/bash