Set*_* II 3 ubuntu stat quoting
我在两个不同版本的 Ubuntu 上使用了 stat,它打印了不同类型的引号。
14.04 (coreutils 8.21-1ubuntu5.1):
$ stat --format %N test.txt
‘test.txt’
Run Code Online (Sandbox Code Playgroud)
16.04 (coreutils 8.25-2ubuntu2):
$ stat --format %N test.txt
'test.txt'
Run Code Online (Sandbox Code Playgroud)
为什么stat
在旧版本中使用这种不常见的引用样式,有没有办法告诉stat
它应该使用哪种类型的引用?
编辑
我知道在 8.26 版中为 stat 引入了引用样式(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.
Run Code Online (Sandbox Code Playgroud)
但是在此更改之前,版本之间应该有一致的行为,还是有其他我不知道的更改?
'
%N
' 格式可以用环境变量设置QUOTING_STYLE
。如果未设置该环境变量,则默认值为‘shell-escape
'. 有效的引用样式是:'
literal
'
按原样输出字符串;这与-N
or--literal
选项相同。...
'
shell-escape
'
类似于 'shell
',但也使用$''
适用于大多数 shell的 POSIX 建议的 ' ' 语法引用不可打印的字符。...
'
locale
'
像 C 字符串文字一样引用字符串,除了使用适合语言环境的周围引号,并引用'like this'
而不是"like this"
在默认的 C 语言环境中。这在许多显示器上看起来更好。
stat
在 8.21 中没有使用这个变量(这个变化是在去年 11 月进行的)。14.04 的输出看起来像是使用了QUOTING_STYLE=locale
. 大概那是当时的(隐式)默认值。
归档时间: |
|
查看次数: |
883 次 |
最近记录: |