小编pra*_*ado的帖子

登录shell在哪里定义?

我正在阅读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)

command-line bash sudo

16
推荐指数
2
解决办法
4389
查看次数

标签 统计

bash ×1

command-line ×1

sudo ×1