我正在编写一个 .sh 脚本,它会在某个时候将用户的 shell 更改为/bin/zsh。命令当然是以下内容:
chsh -s /bin/zsh
但是,这要求输入用户的密码,如果当前用户的 shell 尚未
/bin/zsh
,我只想执行它。 .为此,我需要一个让我知道当前 shell 的命令,并将其与 "/bin/zsh"
进行比较。或类似的东西。我发现有一个 c getusershell
函数,但是没有办法从 shell 脚本中知道这一点吗?更新:抱歉,我的意思是用户指定为首选 shell 的 shell。所以是的,在
/etc/passwd
中指定的那个.这背后的逻辑是,脚本即将将用户的首选 shell 更改为 zsh,我只是希望脚本首先检查它是否还不是 zsh。
最佳答案
$SHELL
返回当前用户的 shell :
$ echo $SHELL
/bin/zsh
关于shell - 确定当前用户的shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943685/