$ '

$ '

私はinitスクリプトでこれを見ました。

echo $"Stopping Apache"

そのドル記号は何に使われますか?

これまでの私の研究:

Bashのマニュアルでこれを見つけました。

外側の引用符

設定すると、$'string'二重引用符で囲まれた拡張子$"string"内で引用が実行されます。${parameter}このオプションはデフォルトで有効になっています。

...しかし、プレフィックスのある文字列とプレフィックスのない文字列の間に違いはありません$

$ echo "I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo "I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo 'I am in ${PWD}'
I am in ${PWD}
$ echo $'I am in ${PWD}'
I am in ${PWD}
$ echo $'I am in $PWD'
I am in $PWD

ベストアンサー1

ここでは2つの異なることが起こり、どちらもbashマニュアルに文書化されています。

$ '

ドル記号一重引用符は特別な形式の引用です。

ANSI C見積もり

$ 'string'形式の単語は特別に扱われます。ワードは、ANSI C規格で指定されているように置き換えられたバックスラッシュエスケープ文字を使用して文字列に展開されます。

$」

ローカライズにはドル記号の二重引用符が使用されます。

ロケール翻訳

ドル記号( '$')の前に二重引用符を付けた文字列を使用すると、その文字列は現在のロケールに従って翻訳されます。現在のロケールがCまたはPOSIXの場合、ドル記号は無視されます。文字列が翻訳されて置き換えられると、置換は二重引用符で囲まれます。

おすすめ記事