为什么每次打开终端以便别名工作时我都必须使用.bashrc?

May*_*tel 3 bash shell

Git工作正常.我在Git中创建了一个别名,但问题是当我尝试重新打开终端时,我需要. ~/.bashrc每次都在终端中运行.

每次重新打开终端时,我不需要提供源的最佳方式是什么?

我做了什么? 我试图在此文件中添加source.bashrc文件,但它是一个只读文件.我不能添加source的的.bashrc文件,在此配置文件.

open /etc/profile
Run Code Online (Sandbox Code Playgroud)

添加了在配置文件中写入的权限,仍然无法链接源文件.

sudo chmod u+w /etc/profile
Run Code Online (Sandbox Code Playgroud)

轮廓:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
   eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
   [ -r /etc/bashrc ] && . /etc/bashrc
fi
Run Code Online (Sandbox Code Playgroud)

May*_*tel 9

根据@Aserre 的回答,我已按照此步骤解决此问题

操作系统的典型安装不会为您创建 .bash_profile。当您想从命令行运行函数时,这是必不可少的。

  1. 启动终端
  2. 键入cd ~/以转到您的主文件夹
  3. 键入touch .bash_profile以创建新文件。
  4. 使用您最喜欢的编辑器编辑 .bash_profile(或者您可以直接open -e .bash_profile在 TextEdit 中输入以打开它。
  5. [ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc" 保存并关闭它

重新启动终端,它应该可以工作


Ase*_*rre 7

看起来你的终端模拟器正在bash作为登录shell 启动.

如果是这种情况,它将读取/etc/profile配置以及以下文件中的1个(如果存在)(按重要性顺序列出):

  • 在〜/ .bash_profile
  • 〜/ .bash_login文件
  • 〜/ .profile文件

因此它将忽略您的.bashrc文件.正确修复您的情况将是配置您的终端模拟器以交互方式运行bash和非登录,或添加[ -f "$HOME/.bashrc" ] && source "$HOME/.bashrc"到您的~/.bash_profile

以下是有关根据您运行的shell类型加载哪些文件的文档的链接