ANSI-Cの引用とロケールによる翻訳の拡張はいつ発生しますか?

ANSI-Cの引用とロケールによる翻訳の拡張はいつ発生しますか?

バッシュマニュアルから

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

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

今回の拡張パックはいつ出るのか気になりますね。

私はそれらが解析後に起こると思います。これが正しい場合、シェル拡張(中括弧拡張、パラメータ拡張、ファイル名拡張など)の点でいつ発生しますか?

ありがとうございます。

ベストアンサー1

$'...'単に特定の文字をレンダリングする代替方法を提供することを除いて、他の参照と同じように機能します。

これらはすべて印刷されます{foo,bar}

echo $'\x7b'foo,bar}
echo "{"foo,bar}

...中括弧の拡張をトリガして、次を印刷しますfoo bar

echo {foo,bar}

与えられた場合、foo=abc以下が印刷されます$foo

echo $'\x24'foo
echo "$"foo

...変数を展開して以下を印刷しますabc

echo $foo

というファイルがある場合は、abc.txt次のように印刷されますabc.txt

echo "a"*.txt
echo $'\x61'*.txt

私は同じことが本当だと仮定することができます$".."

おすすめ記事