shell交互式及登录式

登录式和非登录式区别:

“登陆shell”通常指的是:(/etc/profile,~/.bash_profile, ~/.bashrc,/etc/bashrc)

  • 用户通过输入用户名/密码(或证书认证)后启动的shell;

  • 通过带有-l|—login参数的bash命令启动的shell。

例如,系统启动、远程登录、使用su -切换用户、通过bash —login命令或 -i 启动bash等。

而其他情况启动的shell基本上就都是“非登陆shell”了。(~/.bashrc, /etc/bashrc)

例如,从图形界面启动终端、使用su切换用户、通过bash命令启动bash等。

“登录shell”和“非登陆shell”的区别在于启动shell时所执行的startup文件不同

交互式和非交互式区别:

非交互式:有-c选项或者执行一个shell脚本

交互式: 命令行交互形式

注意:非交互式shell应用基本都是原shell环境下创建一个非交互式子shell执行程序,用户不变,环境变量不变,不会重新加载startup文件。

总结:

日常用到的就这三类:

交互式登录shell

交互式非登录shell

非交互式shell


shell交互式及登录式
http://yoursite.com/2019/02/15/编程开发/Shell/shell交互式及登录式/
作者
Wei Lyu
发布于
2019年2月15日
许可协议