屏幕中的 Bash 配置文件脚本顺序

屏幕中的 Bash 配置文件脚本顺序

我在三个配置文件脚本中放置了一个显示文件名的回显,以便我可以看到它们运行的​​顺序。

当我登录时我看到了。

/etc/profile
/etc/profile.d/color-ls
~/.bashrc
/etc/bashrc
$ alias ls
alias ls='ls --ignore=*.pyc --color'

然而当我开始屏幕会话时,我看到

~/.bashrc
/etc/bashrc
/etc/profile.d/color-ls
$ alias ls
alias ls='ls --color=tty'

我设置的 ~/.bashrc 中的别名被 color-ls 覆盖,但仅限于屏幕内,有没有什么办法可以解决这种烦人的行为?

答案1

你应该先阅读男子猛击(‘INVOCATION’ 部分)关于何时哪个文件确实被使用了。

你的小“痕迹”告诉你,你的~/.bashrc 总是来源/etc/bashrc然后调用color-ls...或不是/etc/bashrc,看起来取决于代码。

因此,有两种方法可以解决问题:

  • 检查,在什么情况下/etc/bashrc决定不采购color-ls
  • ~/.bashrc在您的流程之后设置您的别名/etc/bashrc

相关内容