ダブルクオートの有無について
経緯
LaravelのPATHを通そうとした際に、ダブルクオーテーションで囲む書き方とそうでない書き方、何が違うのがわかりませんでした。
質問させていただいたところ、わかりやすい回答をいただいたので記しておきます。
回答いただいた皆様、ありがとうございました!
※@uasi 様の回答を参照
①ダブルクオート無
export PATH=~/.composer/vendor/bin:$PATH
~ はまずホームディレクトリを指す文字列に展開されます。
よって、
export PATH=/Users/ユーザー名/.composer/vendor/bin:$PATH
と書いたのと同じことになります。
②ダブルクオート有
export PATH="~/.composer/vendor/bin:$PATH"
と書くと、 ~ は展開されず、文字通り ~ という名前のディレクトリを指すことになります。この名前のディレクトリは普通存在しないのでパスは通りません。
また、 ~ の代わりにホームディレクトリを指す変数 $HOME を使うこともできます。これはダブルクォートの有無にかかわらず展開されます。
export PATH=$HOME/.composer/vendor/bin:$PATH
export PATH="$HOME/.composer/vendor/bin:$PATH"