Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下 bash 脚本来替换花括号的括号。
VARS=${VARS//(/{} VARS=${VARS//)/}}
第一行可以正常工作,但第二行只会在末尾添加一个花括号。
如果我尝试用反斜杠转义大括号,反斜杠本身就会存储在变量中。
有没有不同的方法可以从字符串中转义这些花括号?
您必须引用第一个},以便 bash 不会认为这是表达式的结尾:
}
VARS=${VARS//)/\}}
这是另一种方法:
VARS=`echo ${VARS} | tr '()' '{}'`
虽然看起来用反斜杠转义大括号是有效的,但这是我使用的:
VARS=${VARS//(/{} VARS=${VARS//)/\}}