终端外壳中的别名问题



我在终端(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 bashINVOCATION部分。

最新更新