我正在阅读sudo -i/-s
此处之间的差异。使用命令后shopt
注意到 all( sudo su/sudo -i/sudo -s
)$SHELL
提供相同的结果,但shopt
命令结果不同。
那么,登录和非登录shell是如何定义的呢?
从哪里shopt
得到结果?
为什么它与 无关$SHELL
?
须藤须
givinv@87-109:~$ sudo su
root@87-109:/home/givinv#
root@87-109:/home/givinv#
root@87-109:/home/givinv# shopt -q login_shell && echo 'Login shell' || echo 'No login shell'
No login shell
root@87-109:/home/givinv# echo $SHELL
/bin/bash
root@87-109:/home/givinv#
root@87-109:/home/givinv# exit
givinv@87-109:~$
Run Code Online (Sandbox Code Playgroud)
须藤 -i
givinv@87-109:~$ sudo -i
root@87-109:~#
root@87-109:~# shopt -q login_shell && echo 'Login shell' || echo 'No login shell'
Login shell
root@87-109:~# echo $SHELL
/bin/bash …
Run Code Online (Sandbox Code Playgroud)