2011-07-28 34 views
3

我有以下bash脚本来替换大括号的括号。我如何才能在正则表达式的末尾转义大括号

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

第一行工作正常,但第二行只会在末尾添加大括号。

如果我尝试用反斜杠转义大括号,反斜杠本身就会存储在变量中。

是否有不同的方式从字符串中跳过这些花括号?

回答

1

这是一种替代方法:

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

虽然它看起来像逃逸带反斜杠的花括号正在工作,这是我正在使用的:

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

你要引用第一},使庆典并不认为这是表达的末尾:

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