답변:
는 --
지시 cat
명령 행 옵션으로 다음에 오는 것을 분석하려고하지.
예를 들어 변수 $PIDFILE
가로 정의 된 경우 두 경우에 어떤 일이 발생할지 생각해보십시오 PIDFILE="--version"
. 내 컴퓨터에서 다음과 같은 결과를 얻습니다.
$ cat $PIDFILE
cat (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Torbjorn Granlund and Richard M. Stallman.
$ cat -- $PIDFILE
cat: --version: No such file or directory
--
명령 줄 옵션의 끝 을 의미하는 고유 한 셸 스크립트 작성에 대한 설명서 나 자습서가 있습니까? getopts 및 기타 기술을 사용하는 것을 보았지만 논의하지는 않았습니다 --
.
getopt(1)
맨 페이지를 더 이상 볼 필요는 없습니다 . " '-'매개 변수 뒤에있는 각 매개 변수는 항상 비 옵션 매개 변수로 해석됩니다."
POSIX.1-2017
POSIX 는 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02 에서도 지정합니다.
12.2 유틸리티 구문 지침
지침 10 :
첫 번째 - 옵션 인수없는 인수는 옵션의 끝을 나타내는 구분 기호로 인정되어야한다. 다음 인수는 모두 '-'문자로 시작하더라도 피연산자로 취급해야합니다.
참조 : /unix/11376/what-does-double-dash-mean-also-known-as-bare-double-dash
cat
쉘이 아닌 수신 프로그램 (예 :)에 의해 정의됩니다 .