登录shell:是需要用户名、密码登录后才能进入的shell(或者通过--login”选项生成的shell)。非登录shell:当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。执行exit命令,退出一个shell(登录或非登录shell);执行logout命令,退出登录shell(不能退出非登录shell)。交互式登录shell和非交互式登录shell的区别交互式登录:(清除掉所有变量,通过文件重新读入)(1)直接通过终端输入账号密码登录(2)使用“su - UserName”切换的用户执行顺序:(影响该shell的配置文件)/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc非交互式登录:(会继承上一个shell的全部变量)(1)su UserName(2)图形界面下打开的终端(3)执行脚本
交互式shell和非交互式shell(interactive shell and non-interactive shell)交互式模式:就是在终端上执行,shell等待你的输入,并且立即执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。shell也可以运行在另外一种模式:非交互式模式,以shell script(非交互)方式执行。在这种模式 下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾 EOF,shell也就终止了。总结,在终端输入命令就是交互,以 shell脚本 执行命令就是非交互
Minghui
却道天凉好个秋!
CC BY-NC-SA 4.0