Bashは特殊文字を置き換えます。

Bashは特殊文字を置き換えます。

私が読んだ質問と答えのどれも私のための解決策ではありません。だから私がしたいのは、'bashで特殊文字を変更することです。

これは働きます:

A="abc"
B="${A//[b]/x}"

しかし、これはうまくいきません。

A="a'b"
B="${A//[']/\'}"

また、以下も試しました。

B="${A//[']/\\'}"
B="${A//[']/\\\'}"
B="${A//[']/\'''}"
B="${A//[']/'\\''}"

しかし、Bまだそうでしょうa'b

答え1

この方法はうまくいきます:

A="a'b"
B="${A//\'/\\\'}"

2つの注意事項:

  1. []文字が1つしかない場合は必要ありません。
  2. エスケープ\して '代理人を入力する必要があります。

関連情報