繁体   English   中英

为每个终端加载 .bash_profile

[英]Load .bash_profile for every terminal

我在我的 Max OS X 上的.bash_profile中设置了一些别名。它可以工作,但是当我打开一个新选项卡时,我总是必须使用以下命令加载我的.bash_profile文件:

source ~/.bash_profile

即使我正在重新启动我的 Mac 或 Linux 计算机,如何让它适用于我打开的每个终端?

如果你使用zsh ,你可以添加:

source ~/.bash_profile

在以下路径的.zshrc文件末尾: /Users/YOUR USER NAME/ .zshrc ,然后重新启动您的 Terminal/iTerm2 应用程序。

请注意,此文件是隐藏的。 您可以按CMD + SHIFT + 。 在 Finder 中查看它,或者在默认文本编辑器中使用终端中的以下命令打开它:
打开 ~/.zshrc

开始时执行的文件可能是多个,通常 ~/.bashrc 用于交互式非登录 shell。 我假设你正在使用的那种。

如果是这样,请创建一个~/.bashrc文件并在其中获取~/.bash_profile

if [ -f ~/.bash_profile ]; then
    . ~/.bash_profile
fi

这个网站有很多关于这方面的信息

研究这张图片,因为它是一个浓缩的指南

如果您确实需要找出正在执行的确切文件,请查看此网页 它有很多具体的测试来找出什么文件正在设置什么。

特定于 Mac-OS(这是一个例外并加载 ~/.bash_profile)在您确认您的 bash 正在按照那里的说明执行之后,按照此答案中链接的站点中的建议执行操作。

我知道这是一个很老的帖子,但是这个问题经常出现,并且提供了很多费力的解决方案。 事实是:了解一个简单的信息可以快速轻松地解决这个问题:

LINUX/Unix OS 将在启动时按照以下规则加载配置文件(某些发行版可能有其他文件名,主要用于用户本地配置文件,但主要规则如下):

  1. 登录外壳

首先也是最重要的: /etc/profile已加载(全局设置); 下一步: ˜/.bash_profile (本地用户设置 - 可能会找到其他文件,例如˜/.profile ,具体取决于发行版。检查文档)。

因此,如果您在 Login Shell 环境中,请将所有疯狂的东西放入˜/.bash_profile (或您的发行版提供的文件)中,一切都会好起来的。

  1. 非登录外壳

首先也是最重要的: /etc/bashrc (一些发行版会加载bash.bashrc ); 下一个要查找和加载的文件是˜/.bashrc

这就是为什么这么多人(就像我一样)在每次加载终端时都不得不获取他们的˜/.bash_profile感到沮丧。 我们只是在“错误”文件中插入信息——关于加载的 shell 类型(见上文:登录、非登录)。

可以在此处找到有关上述文件变体的更多详细信息以及有关登录与非登录 shell 的一些信息。

希望对你有帮助\o/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM