Mac OS X .bashrc 不起作用

Mac OS X .bashrc 不起作用

.bashrc我的主目录中有一个单行文件:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

但它没有创建别名。这是为什么呢?

答案1

在 OSX 中,.bash_profile使用 来代替.bashrc

是的,该.bash_profile文件应该位于/Users/YourName/
(换句话说,~/.bash_profile

例如,/Users/Aaron/.bash_profile

答案2

.[bash_]profile并且.bashrc可以在 OS X 和 Linux 上使用。前者在 shell 为登录 shell 时加载;后者在 shell 不是登录 shell 时加载。真正的区别在于,Linux 在用户登录图形会话时运行登录 shell,然后,当您打开终端应用程序时,这些 shell 是非登录 shell;而 OS X 在图形登录时不运行 shell,当您从 Terminal.app 运行 shell 时,那就是登录 shell。

如果你希望你的别名在登录和非登录 shell 中都能工作(你通常会这样做),你应该将它们放在 .bashrc 中在你的 .bash_profile 中源 .bashrc,其中包含如下一行:

[ -r ~/.bashrc ] && source ~/.bashrc

这适用于任何使用 bash 的系统。

答案3

自从MacOS Catalina zsh是默认 shell。在此操作系统上,将别名添加到~/.zshrc

卡塔利娜添加别名至~/.bash_profile

答案4

我尝试使用该解决方案来更新。bash_profile.bashrc但这不起作用,因为 MacOS >= 10.15(Catalina) 默认使用 zsh。

所以:

  • 创建一个新文件,~/.zprofile并在其中添加别名。
  • 使用命令source ~/.zprofile在同一个 shell 中执行或者只是打开一个新终端。

并且您的更改将是永久性的。

相关内容