stat --format %N 引用符

stat --format %N 引用符

私は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'
文字列をそのまま出力します。これは-Norオプションと同じです--literal

...

shell-escape」は「」に似ていますが、印刷できない文字を引用するためにPOSIXが推奨する「」構文を使用します。これはほとんどの
シェルに適しています。shell$''

...

' locale'
C文字列リテラルのように文字列を引用しますが、引用符の代わりにロケールに'like this'適した引用符とデフォルトのCロケールの引用符を使用してください。"like this"これは多くのモニターでよりよく見えます。

statこの変数は8.21では使用されません(変更昨年11月)。 14.04の出力はQUOTING_STYLE=locale

おすすめ記事