Please enable Javascript to view the contents

Linux基础: Bash类型和行为说明

Login Shell、Non-Login Shell的定义和行为说明。

 ·  ☕ 2 分钟

相关博客

[Blog-1]: Linux基础-Bash交互式Shell

[Blog-2]: Linux基础-Bash启动文件-profile、bashrc

1.简介

2.说明

login Shell(登录式交互Shell)

系统启动后,用户可选择以下方式登入系统:图形界面登录、控制台直接登录、SSH远程登录。

图形界面登录:在图形界面(如GNOME、KDE、XFCE等)中输入用户名和密码登录。

控制台直接登录:在物理机器或虚拟机的控制台上直接输入用户名和密码登录。

SSH远程登录:通过SSH连接到远程服务器时,输入用户名和密码,这会启动一个LoginShell。

Non-Login Shell(非登录式交互Shell)

顾名思义,Non-Login Shell指不涉及登录过程的shell。

登录后打开新Shell:在已经登录的会话中打开一个新的终端窗口或标签页;在登录后的图形界面唤起Terminal。

执行脚本:执行一个shell脚本,是非登录的,通常也是非交互式的,除非脚本明确要求交互。
后台作业:在后台运行的命令,如使用&将命令放入后台执行。
远程命令执行:如ssh user@host 'command'执行的远程命令,通常不会启动登录shell,除非指定了-t-tt选项来强制分配一个伪终端。

loginShell与Non-loginShell区别

登录shell:会读取特定的启动文件,如/etc/profile和~/.bash_profile,这些文件中通常包含环境设置和别名等。
非登录shell:通常只读取~/.bashrc(如果存在),这个文件通常包含针对非登录shell的设置。

3.总结

4.参考

[注1]: linux-Interactive Shell(交互式Shell行为说明)

[注2]: Bash脚本set命令教程-阮一峰

分享

Hex
作者
Hex
CloudNative Developer

目录