3

中括弧の括弧を置き換える次の bash スクリプトがあります。

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

最初の行は問題なく動作しますが、2 行目は最後に中かっこを追加するだけです。

バックスラッシュで中括弧をエスケープしようとすると、バックスラッシュ自体が変数に格納されます。

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

4

2 に答える 2

1

別の方法を次に示します。

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

バックスラッシュで中括弧をエスケープしているように見えますが、私が使用していたものは次のとおりです。

VARS=${VARS//(/{}
VARS=${VARS//)/\}}
于 2011-07-28T18:29:25.837 に答える
1

}これが式の終わりであると bash が認識しないように、最初の部分を引用する必要があります。

VARS=${VARS//)/\}}
于 2011-07-28T18:25:33.983 に答える