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//)/}}
最初の行は問題なく動作しますが、2 行目は最後に中かっこを追加するだけです。
バックスラッシュで中括弧をエスケープしようとすると、バックスラッシュ自体が変数に格納されます。
これらの中括弧を文字列からエスケープする別の方法はありますか?
別の方法を次に示します。
VARS=`echo ${VARS} | tr '()' '{}'`
バックスラッシュで中括弧をエスケープしているように見えますが、私が使用していたものは次のとおりです。
VARS=${VARS//(/{} VARS=${VARS//)/\}}
}これが式の終わりであると bash が認識しないように、最初の部分を引用する必要があります。
}
VARS=${VARS//)/\}}