Bash: Расширение скобок в скриптах не работает из-за нежелательное экранирование

Я хочу сделать что-то подобное в сценарии 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}'

, который, конечно, не может быть успешным из-за отметок '.

Как я могу заставить это работать в моем скрипте?

9
задан simont 10 August 2012 в 04:19
поделиться