bashの$ '...'で変数を使用できますか?

bashの$ '...'で変数を使用できますか?

私は以下を試しました:

myprogram $'Hello $HOME'

しかし、うまくいきません(受信したコマンドライン引数は値ではありませんmyprogram)。Hello $HOME$HOME

ベストアンサー1

Cスタイルのバックスラッシュエスケープが解釈されることを除いて、一重引用符で囲まれた文字列$'...'のように機能します。少なくともBashマニュアルは最後にこれを言及します。ANSI-Cリファレンスページ:

拡張結果は、ドル記号がないかのように単一引用符で囲まれます。

だからではない。これがおそらく一重引用符(またはその逆)を使用することを選択した理由です。その機能の記録はわかりませんが、言葉です。

二重引用符を使用し、必要に応じて引用符を変更する必要があります。つまり

$ myprogram "Hello $HOME"

またはタブと混合

$ myprogram $'Hello\t'"$HOME"

おすすめ記事