バッシュマニュアルから
この形式の単語は
$'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
私は同じことが本当だと仮定することができます$".."
。