(转+原创)BASH启动脚本及其启动顺序
登录Linux后,BASH要读取几个文件,这些文件(启动脚本文件)用来定义BASH环境,如果希望建立标准的别名,或者希望设置各种shell变量,就应该在bash启动文件中进行设置。这几个文件是
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
BASH有三种常见的启动方式:
登录交互式,即从字符终端登录或在X Window中启动终端窗口。BASH启动过程中首先读取文件1,然后按顺序读取文件2-4中遇到的第一个文件,启动后读取并运行文件5,前面文件的设置会被后面文件的设置所覆盖。通常文件1中设置系统环境变量,文件2-4设置用户自定义的环境,文件5设置登录后运行的程序。
非登录交互式,即从其它shell或bash自身启动BASH。这时文件1-4都不被读取,唯一的启动文件是~/.bashrc。
非交互式,即运行SHELL脚本。这时所有的启动脚本文件都不执行,但如果定义了系统环境变量ENV,则ENV的值作为启动脚本文件名首先执行。在前两种情况下,如果定义了环境变量ENV,则首先读取ENV指定的文件,然后按顺序读取前述脚本文件。
直接su 用户名 不加- 属于第二种情况 非登录交互式 只执行一个文件~/.bashrc;
su - 用户名 属于第一种情况
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步