区分Linux Login, Non-Login, Interactive,和Non-Interactive Shell 会话
2009-09-01 10:39 程序开发助手 阅读(830) 评论(1) 收藏 举报Bash Shell 会话,从两个不同的维度分为:登录/非登录以及交互式/非交互式 模式。
从是否登录这个维度分为:登录和非登录
从是否与用户交互分为:交互式和非交互式
登录Shell:是指Shell是输入用户名密码才进入Shell的,我们一般通过SSH登录,然后输入用户名密码进入Shell都是登录式Shell
非登录Shell: 是指没用输入用户名密码即可进入Shell,比如如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。
交互式Shell: 就是Shell是附加到terminal, Shell等待你的输入,并且立即执行你提交的命令, 之所以被称作交互式是因为shell与用户进行交互。
非交互式shell: 就是Shell没有附加到terminal,无需和用户交互,比如我们执行脚本时,Shell读取文件内容执行,执行完代码后,自己结束。
我们正常通过SSH登录的会话,都是登录式+交互式的会话。
不同的会话方式,将分别读取的不同的配置文件。
登录式: 依次读取 /etc/profile,~/.bash_profile, ~/.bash_login, ~/.profile。
非登录: 式依次读取 /etc/bash.bashrc,~/.bashrc。
非交互式: $BASH_ENV 指定的文件
浙公网安备 33010602011771号