シェルスクリプトで空白パス指定するとエラーになる場合

Author:

まあ、当然といえば当然なのですが。
path=”My Documents”
とかいうパスに対して
cd $pathとするとエラーになります。

./aaa.sh: 4 行: cd: My\: そのようなファイルやディレクトリはありません

要はDocumentsが引数に見られるのですね。

で、解決策はcd “$path”とすること。
これで内部的にはcd “My Documents”となってくれます。

まあよくよく考えたら当たり前の話なのですが。
ただ、path=”My\ Documents”としてもエラーになるので注意。
普通にターミナルからだとcd My\ Documentsで良いのですけどね。

bashスクリプトってやつは空白で良くミスするのでご注意を。
if文とかfor文もスペース忘れるとエラーになりますからね。

Facebook にシェア
Pocket