Answers:
该.bashrc
文件是一个脚本,每当以交互方式启动新的终端会话时,便会执行该脚本。当您通过按Ctrl+ Alt+ 打开新的终端窗口时T,或者只是打开新的终端选项卡时,就会发生这种情况。
相比之下,处于登录模式的终端会话将要求您提供用户名和密码并执行~/.bash_profile
脚本。例如,当您通过SSH登录到远程系统时,就会发生这种情况。
该.bashrc
文件本身包含终端会话的一系列配置。这包括设置或启用:着色,完成,外壳历史记录,命令别名等。.bashrc
随Ubuntu一起分发的文件已得到很好的注释,您只需阅读即可了解它的大部分功能。
您可以.bashrc
根据自己的喜好进行调整。在这里,您可以获得具有许多额外功能的示例。
关于超级用户的问题- 什么是.bashrc文件?通过@pineapple和@DigitalRoss回答
实际上,
bash
具体来说就是读取.bashrc
(和/etc/bash.bashrc
)。有很多不同的外壳。在bash的手册页(由Brian Fox和切特·拉梅;同时信息页面“Bash的启动文件”)是最权威的参考:
启动不是登录外壳程序的交互式外壳程序时
~/.bashrc
,如果该文件存在,bash将从中读取并执行命令。使用--norc
选项可以禁止这种情况。该--rcfile
文件选项将强制bash读取和文件,而不是执行命令~/.bashrc
。例如,以非交互方式启动bash时,要运行shell脚本,它将
BASH_ENV
在环境中查找变量,如果变量出现在环境中,则将其值扩展,并将扩展后的值用作要读取和执行的文件的名称。Bash的行为就像执行以下命令一样:if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
但是
PATH
变量的值不用于搜索文件名。该文件只是shell命令。它通常用于更改提示,设置环境变量和定义shell过程。传统上,该文件
.profile
用于此目的,但bash
扩展名太多,以至于想要将重载放入启动文件的用户都需要自己的 启动文件。“ 非登录外壳 ”表示诸如脚本启动以及通常由窗口管理器启动的终端窗口之类的东西。有时我将* nix系统设置为具有
.bashrc
和BASH_ENV
仅仅是source.profile
。只要您不偏离POSIX shell命令的范围,那么您将在任何shell中获得相同的初始化。当
sh
真正存在时bash
,这尤其有价值,有时会发生。为此,请使用:. .profile
这是如此复杂的原因之一是,有时人们将可以产生输出的内容放入shell启动文件中,或者无条件设置提示。在语言中运行shell程序和反引号命令时,这会引起很多问题,更不用说
system(3)
C程序了。bash
我认为启动方式被设计为在输出和提示设置可以的情况下有一个文件,而在输出和提示设置没有问题的情况下有一个文件。传统上,将进行运行时测试来区分交互性,例如,检查是否设置了提示。
.bashrc
是许多bash配置文件之一。请参阅Bash启动文件中的官方文档。