shell中的環境變量,zsh環境變量配置中遇到的問題

結論:一般看似嚴重的問題,到頭來往往僅僅是很小的問題。

聲明:在zsh中,環境變量path與PATH是等價的,不區分大小寫。

1. 問題

1.1 從bash切到zsh後,source fuzzy finder即fzf相關的環境變量腳本時,一直報bind command not found,云云。

- shell加載fzf的shell增強腳本,bash shell爲sourc ~/.fzf.bash, zsh shell爲source ~/.fzf.zsh。從bash切到zsh後,此文件需要用~/.fzf/install命令重新生成,與原有的~/.fzf.bash不同。

1.2 從bash切到zsh後,應用一個自定義的bashrc增加版配置文件後,再引用其中的命令,會各種command not found找不到。

- 花費了兩天的時間,才排查出來,是因爲zsh shell裏面的path與PATH一致,不區分大小寫。原有bash shell配置腳本里面,用了一個小寫的path變量,這個變量,在bash下沒問題,因爲bash區分大小寫;zsh下,此變量有結果後,會覆蓋系統的PATH變量。於是,就是各種shell命令找到。

究其根源,是因爲zsh的path變量不區分大小寫。另外,也提醒我們,在編程變量命名時,要避免系統命令或關鍵字中的同名字符干擾。

 - zsh出現的的command not found,除了需要export相關的PATH變量之外,也要隨時注意到PATH變量輸出的結果是否正確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章