当Bash被调用时,Bash从一组启动文件中读取和执行命令。bash_profile是在作为交互式登录shell调用时读取和执行的,而.bashrc是为交互式非登录shell执行的。
如果您在命令行上花费大量时间,则很可能需要自定义Shell环境。这可能意味着创建别名,将新目录添加到$PATH
或更改shell提示符的外观。你可能会遇到一些教程,他们说,把你的配置无论是在.bashrc
,.bash_profile
即读取和使用bash shell执行或其他配置文件。在本文中,我们将讨论Bash启动文件以及.bashrc
和.bash_profile
文件之间的区别。调用时,Bash从一组启动文件中读取并执行命令。读取什么文件取决于shell是作为交互式登录shell还是非登录shell调用。
shell可以是交互式的或非交互式的。
简而言之,交互式shell程序是读取和写入用户终端的shell程序,而非交互式shell程序是与终端不相关的shell程序,例如执行脚本时。
交互式shell程序可以是登录shell程序,也可以是非登录shell程序。
当用户通过ssh远程登录到终端或在本地登录到终端时,或者使用该--login
选项启动Bash时,都会调用登录shell 。从登录shell调用交互式非登录shell,例如在键入bash
shell提示符或打开新的Gnome终端选项卡时。/etc/profile
文件,如果该文件存在,它将运行文件中列出的命令。然后,对于击的搜索~/.bash_profile
,~/.bash_login
以及~/.profile
文件,在所列出的顺序,并且从第一可读的文件执行命令找到。当Bash作为交互式非登录shell调用时,它从中读取并执行命令~/.bashrc
,如果该文件存在,并且可读。.bash_profile
当Bash作为交互式登录shell调用时被读取并执行,而.bashrc
对于交互式非登录shell被执行。用于.bash_profile
运行仅应运行一次的命令,例如自定义$PATH
环境变量。将每次启动新Shell时应运行的命令放入.bashrc
文件中。这包括您的别名和函数,自定义提示,历史记录自定义等等。通常,~/.bash_profile
包含源.bashrc
文件下方的行。这意味着每次您登录到终端时,两个文件都被读取并执行。if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
大多数Linux发行版都使用~/.profile
代替~/.bash_profile
。~/.profile
所有shell都读取该文件,而~/.bash_profile
Bash只能读取该文件。如果您的系统上没有任何启动文件,则可以创建它。
.bash_profile
并且.bashrc
是含有被调用击时被运行shell命令文件。.bash_profile
在交互式登录shell上读取和执行,而.bashrc
在非登录shell上读取。查看Bash手册以获取有关Bash启动文件的更多信息。
Golang内存一直涨是什么原因及问题定位方法2023免费Apple美国ID账号共享-美国Apple ID共享Clash100初学教程:安装、使用和常见问题解决Writesonic一个AI创作助手Shadowrockets China: Shadowsocks在中国的完整指南Clash VPN 购买:稳定好用的 Clash 节点(2025 持续更新)电视家没了,有其他看电视直播的App吗?v2ray安装包全面指南部落冲突8本阵型:详细布阵指南与战术建议谷歌云v2ray ws tls 配置教程老牌大流量高速稳定便宜机场:桔子云,全隧道+IPLC专线Xray透明代理(TProxy)配置教程闪狐云机场怎么样?FlashFox 闪狐云2025最新评测clash for windows节点怎么获取Clash for Windows下载 中文汉化 机场URL订阅配置详细使用教程 支持V2Ray/Trojan/Shadowsocks(R)全协议科学上网最新版客户端