一、交互shell 和 非交互shell
1、交互shell
交互式:顾名思义就是 shell 与用户存在交互,
用户登录后,在终端上输入命令,shell 立即执行用户提交的命令。
当用户退出后,shell 也终止了。
2、非交互shell
非交互式:即 shell 与用户不存在交互,而是以 shell script
的方式执行的。
shell 读取存放在文件中的命令, 并且执行它们。
当它读到文件的结尾 EOF,shell 也就终止了。
3、区分方法
可以通过打印 $-
变量的值,并查看其中的 i - interactive 选项来区分交互式与非交互式shell。
比如
:~> echo $-
himBH
有 i - interactive ,所以是 交互式 shell;反之则为非交互式。
二、登录shell 和 非登录shell
1、登录shell
登录 shell 是