Bash 設定檔腳本在螢幕中的順序

Bash 設定檔腳本在螢幕中的順序

我在三個設定檔腳本中新增了一個 echo 來顯示檔名,以便我可以看到它們的運行順序。

當我登入時我看到了。

/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

你應該先閱讀男人狂歡(“調用”部分)關於何時哪個文件是實際使用的。

你的小「痕跡」顯示你的~/.bashrc 總是/etc/bashrc然後調用的來源color-ls...或不是,取決於/etc/bashrc看起來的程式碼。

因此,解決問題的方法有兩種:

  • 檢查,在什麼情況下/etc/bashrc決定不來源color-ls
  • ~/.bashrc在進程之後設定別名/etc/bashrc

相關內容