1. ホーム
  2. bash

Bashで先頭のドル記号はシングルクォートにどのような影響を与えますか?

2023-08-11 06:49:57

質問

Bash CLIからプログラムの引数として文字列を渡す必要があります。

program "don't do this"

のような任意の文字を含むことができます。 '$' , '\' などがあり、Bashに修正をさせたくない。だから、シングルクォートを使うことを考えます。

しかし、次のようにするとうまくいきません。

 program 'don\'t do this'            //escape doesn't work in single quote

次の二つは動作しますが

 program $'dont\'t do this'          //seems fine, but any other side effects?
 program 'dont'\''do this'           //breaking into 3 parts

最初のアプローチは、より少ない事前修正(ドル記号を前に置き、すべての \\\ に変更)、しかし、私はDOLLAR SIGNが他に何をするのか知りません。

私は本当にこれをグーグルしましたが、私が必要とするものを見つけることができません...。

どのように解決するのですか?

エスケープシーケンスが解釈されるようになります。

$ echo $'Name\tAge\nBob\t24\nMary\t36'
Name    Age
Bob     24
Mary    36

これらのシーケンスが展開された後、結果はドル記号がなかったかのように一重引用符で囲まれます。