本篇文章介绍Bash如何执行其启动文件。如果存在任何文件但无法读取,则Bash会报告错误。
交互登陆shell或加上–login
当Bash作为交互式登录shell或作为非交互式shell加上 –-login 选项,它首先会从 /etc/profile文件中读取并执行命令,如果该文件存在。读取该文件后,它会依次寻找并执行~/.bash_profile, 〜/.bash_login和 〜/ .profile,并从以上三个存在且可读的文件中第一个命令中读取并执行命令。加上–noprofile 选项启动shell时,可以禁止profile行为。
当交互式登录shell退出或非交互式登录shell执行exit
内置命令时,Bash将从文件中读取并执行命令〜/ .bash_logout(如果存在)。
交互非登陆shell
当一个交互shell以非登陆模式开始时,Bash将从〜/ .bashrc读取并执行命令,如果该文件存在。这可以通过使用–-norc选项禁止。–rcfile选项将强制Bash从file而不是〜/ .bashrc读取和执行命令。
所以通常 ,〜/ .bash_profile 包含行
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
在任何特定登录的初始化之后(或之前)。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/ose/2829.html