私は2つの異なるバージョンのUbuntuでstatを使用し、異なるタイプの引用符を印刷します。
14.04(coreutils 8.21-1ubuntu5.1):
$ stat --format %N test.txt
‘test.txt’
16.04(coreutils 8.25-2ubuntu2):
$ stat --format %N test.txt
'test.txt'
stat
以前のバージョンでこれらの珍しい引用スタイルが使用されているのはなぜですか?stat
どのタイプの参照を使用すべきかを教える方法はありますか?
編集する
statの引用スタイルはバージョン8.26(https://savannah.gnu.org/forum/forum.php?forum_id=8745):
stat --format=%N for quoting file names now honors the
same QUOTING_STYLE environment variable values as ls.
しかし、この変更の前にバージョン間で一貫した動作が必要ですか?それとも私が認識しない他の変更はありますか?
ベストアンサー1
~からGNUstat
ドキュメント:
'
%N
'形式は環境変数で設定できますQUOTING_STYLE
。この環境変数が設定されていない場合、デフォルトは‘shell-escape
'です。有効な引用スタイルは次のとおりです。'
literal
'
文字列をそのまま出力します。これは-N
orオプションと同じです--literal
。...
「
shell-escape
」は「」に似ていますが、印刷できない文字を引用するためにPOSIXが推奨する「」構文を使用します。これはほとんどの
シェルに適しています。shell
$''
...
'
locale
'
C文字列リテラルのように文字列を引用しますが、引用符の代わりにロケールに'like this'
適した引用符とデフォルトのCロケールの引用符を使用してください。"like this"
これは多くのモニターでよりよく見えます。
stat
この変数は8.21では使用されません(変更昨年11月)。 14.04の出力はQUOTING_STYLE=locale
。