$ \time --version
time (GNU Time) UNKNOWN
Copyright (C) 2018 Free Software Foundation, Inc.
...
$ /bin/true --version
true (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
...
$ \true --version
$ echo 'nothing was printed on the previous line'
저는 Ubuntu 22.04, GNU bash, 버전 5.1.16(zsh 5.9에서도 테스트됨)을 사용하고 있습니다.
답변1
큰 타격을 입은 상태에서time
키워드입니다(참조 type time
) \time
그렇게 해석되지는 않습니다. \time
귀하의 경우에는 Bash가 외부 실행 파일을 실행하도록 만드십시오 GNU time
.
하지만 true
이는 내장되어 있습니다(참고자료 참조 type true
). 백슬래시를 사용하여 time
키워드(또는 try 등의 키워드 ) 를 억제할 수 있다는 사실이 \if
백슬래시를 사용하여 내장 함수를 억제할 수 있다고 오해할 수 있습니다. 아니요, \true
GNU가 아닌 내장 기능을 계속 실행합니다 true
. 이는 매우 분명합니다 . 외부 실행 파일 이 아닌 내장 파일을 \:
실행합니다.:
:
아마도운영 체제에 존재하지 않습니다(비교 type -a :
또는 type -a true
시도 env :
).
help true
내장 기능이 설명되지만 옵션은 언급되지 않습니다.
true
어떤 조치를 취해야 할지 어떻게 결정하나요 ?
내장 함수는 그것이 무엇이든 상관없이 모든 명령줄 인수를 무시하는 것 같습니다. GNU는 true
인수가 하나만 있고 해당 인수가 --help
or 가 아닌 한 모든 명령줄 인수를 무시합니다 --version
.
Zsh에서는 이야기가 기본적으로 동일합니다.