Bashの引用符とスペースを含む変数

Bashの引用符とスペースを含む変数

Bashスクリプトで以下を試しています。

MV_PARAMS='"foo 1" "foo 2"'
mv $MV_PARAMS

私が実際にやりたいことは次のとおりです。

mv "foo 1" "foo 2"

しかし、これはうまくいかないようです。この試み:

mv "$MV_PARAMS"

いいえ。

ベストアンサー1

あなたがしなければならないことは配列を使用することです:

mv_params=("foo 1" "foo 2")
mv "${mv_params[@]}"

配列拡張は、スペースまたは特殊文字を含む配列要素を正しく処理します。

おすすめ記事