#シンボルの前にバックスラッシュを挿入する方法は?

#シンボルの前にバックスラッシュを挿入する方法は?

Bashプログラミングでは、変数(たとえば)が与えられると、シンボルを含む文字列が格納されますvarA。この値が含まれていると#仮定すると、前にバックスラッシュを追加する必要があるため、出力には次のものを含めることができます。次のコードは、文字列置換が機能しないようで、sedコマンドの出力を他の変数に割り当てることができないことを除いて、私の目標を達成するのに効果的です。これを見ましたか?varAASD# 1\#ASD\# 1

varA="ASD# 1"
echo $(sed s/\#/\\#/g <<< ${varA})

答え1

式に引用符がありませんsed

努力する:

$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1

答え2

sed変数を1つだけ使用するとオーバーヘッドが発生します。あなたがbash使用できる${varA/\#/\\\#}

関連情報