2011-07-28 11 views
3

の終わり中括弧をエスケープすることができ、私は中括弧のために括弧を交換するには、次のbashスクリプトを持っています。どのように私は正規表現

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

最初の行はOK動作しますが、もう一つは唯一の終わり中括弧を追加します。

私はバックスラッシュと中括弧をエスケープしようとした場合、バックスラッシュ自体を変数に格納します。

文字列からこれらの中括弧をエスケープする別の方法はありますか?

答えて

1

は別の方法でありますバックスラッシュと中カッコは、ここでは、働いている私が使用していたものです。

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

あなたが最初}を引用しなければならないので、bashは、これは式の終わりであるとは思いません:それはエスケープのように思えるが

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

:ここ

VARS=${VARS//)/\}} 
関連する問題