Как я могу избежать фигурных скобок в конце регулярного выражения - PullRequest
3 голосов
/ 28 июля 2011

У меня есть следующий скрипт bash, чтобы заменить круглые скобки для фигурных скобок.

VARS=${VARS//(/{}
VARS=${VARS//)/}}

Первая строка работает нормально, но вторая добавит только фигурные скобки в конце.

Если я попытаюсь убрать фигурную скобку с помощью обратной косой черты, то сама обратная косая черта будет сохранена в переменной.

Есть ли другой способ убрать эти фигурные скобки из строки?

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Вот альтернативный метод:

VARS=`echo ${VARS} | tr '()' '{}'`

Хотя кажется, что выход из фигурной скобки с обратной косой чертой работает, вот что я использовал:

VARS=${VARS//(/{}
VARS=${VARS//)/\}}
1 голос
/ 28 июля 2011

Вы должны указать первую }, чтобы bash не думал, что это конец выражения:

VARS=${VARS//)/\}}
...