このようなことをbashスクリプトで実行したいと思います。私はを使用してbash 4.1.10
います。
# rm -rf /some/path/{folder1,folder2,folder3}
シェル自体からうまく(そして期待どおりに)動作します。必要な3つのフォルダーが削除され、他のすべてのフォルダーは変更されません。
スクリプトに入れると、望ましくないことが起こります。たとえば、私のスクリプト:
#!/bin/bash
set -x
VAR="folder1,folder2,folder3"
rm -rf /some/path/{$VAR}
このスクリプトを実行しても、フォルダーは削除されません。
これは、不要な引用が発生しているためだと思います。を使用してスクリプトから出力#!/bin/bash -x
:
rm -rf '/some/path/{folder1,folder2,folder3}'
もちろん、'
マークのために成功することはできません。
スクリプト内でこれを機能させるにはどうすればよいですか?