我正在编写一个.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