我有以下bash脚本来替换花括号的括号。
VARS=${VARS//(/{}
VARS=${VARS//)/}}
第一行正常,但第二行只会在最后添加花括号。
如果我试图用反斜杠转义大括号,则反斜杠本身会存储在变量中。
是否有不同的方法可以从字符串中转义这些花括号?
答案 0 :(得分:1)
你必须引用第一个}
,以便bash不认为这是表达式的结尾:
VARS=${VARS//)/\}}
答案 1 :(得分:1)
这是另一种方法:
VARS=`echo ${VARS} | tr '()' '{}'`
虽然看起来好像用反斜杠转义大括号是有效的,但这就是我用的:
VARS=${VARS//(/{}
VARS=${VARS//)/\}}