如何在 .bashrc 和 .bash_profile 中包含来自其他文件的配置?

如何在 .bashrc 和 .bash_profile 中包含来自其他文件的配置?

我经常在终端中使用别名。但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 控制台中工作。

相关内容