나는 두 가지 다른 버전의 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
~에서GNU stat
문서:
'
%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
.