我在终端(macos(中将/bin/bash设置为我的默认shell,而我的别名(写在"~/.bashrc">中(不起作用(找不到命令(。
但是如果我在终端/bin/bash
命令中编写,我将切换到新的 bash3.2 shell,然后我可以使用它。
有没有另一个".bashrc">,我应该写下我的别名?
附言我使用终端首选项将/bin/bash 设为默认值chsh -s /bin/bash/
命令也是如此。
Terminal
启动登录 shell 而不是"普通"交互式 shell,因为终端本身不是从从登录 shell 继承环境的 shell 运行的。
普通的交互式 shell 获取.bashrc
;登录 shell 获取它找到的第一个.profile
、.bash_login
或.bash_profile
。我建议直接从.bash_profile
采购.bashrc
。
当您直接运行/bin/bash
时,您的别名会起作用,因为这不会启动另一个登录 shell,因此.bashrc
按预期获取。
如上所述,如果将以下行添加到主目录中的.profile
:
source ~/.bashrc
保存并创建新的终端会话后,它将自动使用别名设置获取.bashrc
。
您希望/bin/bash -l
像使用登录 shell 一样运行。有关详细信息,请参阅 man bash
的INVOCATION
部分。