[筆記] zsh 的 PATH 不會將 ~ (tilde) 替代為家目錄位置
最近終於有點時間調整自己的開發環境
將 bash 替換成 zsh
結果在手動到新增 PATH 後
依然顯示
這實在是很惱人
後來上網找了很久資料終於看到問題點
是因為 zsh 對於雙引號中間的 ~ 並不解釋為家目錄
zsh 的 guide 中
在 Substitutions 的 Double quotes 章節內容如下
中間還有附上一個表格方便理解
因為我原本是設定
依據規則,並不會替換成家目錄的位置
那怎麼辦呢?
除了替換成絕對路徑
例如 Linux 的 /home/[username] 或 Mac 的 /Users/[username]
最簡單的方式是將波浪符號(~, tilde)
直接換成 $HOME 最快啦!
結果如下
收工!
本著作由小克製作,以創用CC 姓名標示-相同方式分享 4.0 國際 授權條款釋出。
本篇永久網址:http://goodjack.blogspot.com/2016/09/tilde-will-not-be-substituted-for-the-path-to-your-home-directory-in-zsh.html
將 bash 替換成 zsh
結果在手動到新增 PATH 後
依然顯示
zsh: command not found
這實在是很惱人
後來上網找了很久資料終於看到問題點
是因為 zsh 對於雙引號中間的 ~ 並不解釋為家目錄
zsh 的 guide 中
在 Substitutions 的 Double quotes 章節內容如下
They allow parameter expansion, command substitution and arithmetic substitution, but not any of the others: process substitution doesn't happen, braces and initial tildes and equals signs are not expanded and patterns are not special.
中間還有附上一個表格方便理解
因為我原本是設定
export PATH="~/.composer/vendor/bin:$PATH"
依據規則,並不會替換成家目錄的位置
那怎麼辦呢?
除了替換成絕對路徑
例如 Linux 的 /home/[username] 或 Mac 的 /Users/[username]
最簡單的方式是將波浪符號(~, tilde)
直接換成 $HOME 最快啦!
結果如下
export PATH="$HOME/.composer/vendor/bin:$PATH"
收工!
本著作由小克製作,以創用CC 姓名標示-相同方式分享 4.0 國際 授權條款釋出。
本篇永久網址:http://goodjack.blogspot.com/2016/09/tilde-will-not-be-substituted-for-the-path-to-your-home-directory-in-zsh.html