我经常在终端中使用别名。但alias
命令仅在我关闭该会话之前有效。所以,我必须在中设置别名和变量.bashrc
以使它们永久有效。但是当我使用 TTY 控制台时,.bashrc
文件不再有效。因为登录 shell 使用该.bash_profile
文件,而非登录 shell (如 Gnome Terminal)使用该.bashrc
文件。所以,我必须在.bash_profile
文件中再次设置这些别名和变量。有没有办法制作一个将被和都包含的公共文件.bashrc
?.bash_profile
我试图.bash_commons
在主目录中创建一个名为的公共文件。然后我在两个文件中都添加了以下行:
bash ~/bash_commons
但它失败了,因为bash
自动取消了脚本中定义的任何变量和别名。
答案1
我找到了另一个命令source
。这是一个 shell 内置命令。它包含正在执行的 bash 脚本中另一个文件中的命令。它将文件名作为参数,并采用一些其他参数,例如(来自source --help
):
source filename [arguments]
将这一行添加到.bashrc
文件.bash_profile
:
source ~/.bash_commons
现在 Gnome 终端(非登录 shell 和使用.bashrc
)和 TTY 控制台(登录 shell 和使用.bash_profile
)都将从文件加载命令.bash_commons
,并且别名和变量将在 Gnome 终端和 TTY 控制台中工作。