如果文件名是 'Z',为什么 ls -Q 会输出 "Z\1"?
Why ls -Q give output as "Z\\1" if the file name is 'Z\1'?
$ touch "z"
$ ls -Q
"z\1"
如果文件名为“z
”,为什么 "ls -Q" 输出 "z\1"
?
输出在 'z' 和“1”之间带有双斜杠。
-Q
-Switch(还有 --quote-names
)将引用名称。 --quoting-style
-Switch 定义了这个引用是如何完成的。
来自 man page 的片段:
--quoting-style=WORD
use quoting style WORD for entry names: literal, locale,
shell, shell-always, c, escape
这将导致以下结果:
ls --quoting-style=literal "z"
=> z
ls --quoting-style=locale "z"
=> ‘z\1’
ls --quoting-style=shell "z"
=> 'z'
ls --quoting-style=shell-always "z"
=> 'z'
ls --quoting-style=c "z"
=> "z\1"
ls --quoting-style=escape "z"
=> z\1
我不能告诉你默认值是多少。但它必须是其中之一 locale, c, escape
$ touch "z"
$ ls -Q
"z\1"
如果文件名为“z
”,为什么 "ls -Q" 输出 "z\1"
?
输出在 'z' 和“1”之间带有双斜杠。
-Q
-Switch(还有 --quote-names
)将引用名称。 --quoting-style
-Switch 定义了这个引用是如何完成的。
来自 man page 的片段:
--quoting-style=WORD
use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape
这将导致以下结果:
ls --quoting-style=literal "z"
=>z
ls --quoting-style=locale "z"
=>‘z\1’
ls --quoting-style=shell "z"
=>'z'
ls --quoting-style=shell-always "z"
=>'z'
ls --quoting-style=c "z"
=>"z\1"
ls --quoting-style=escape "z"
=>z\1
我不能告诉你默认值是多少。但它必须是其中之一 locale, c, escape