Bash の変数展開に苦労しています。次のコードを参照してください。
~/tmp 689$ a=~/Library/Application\ *; echo $a
/Users/foo/Library/Application *
~/tmp 690$ echo ~/Library/Application\ *
/Users/foo/Library/Application Scripts /Users/foo/Library/Application Support
展開の順序は中かっこ->チルダ->パラメータ->....->パス名$a
ですが、2番目のコマンドと同じようにパス名展開が適用されないのはなぜですか?
[追加した]
空白のエスケープには、次の出力に関して隠された動作がありますか?
~/tmp 705$ a=~/Library/Application*; echo $a
/Users/foo/Library/Application Scripts /Users/foo/Library/Application Support