sh에서 실행하려고 하면 a;;b
다음 오류가 발생합니다.
sh: <number>: Syntax error: ";;" unexpected
시도하면 대신 a;;;b
동일한 오류가 발생하므로 그것이 무엇을 의미하는지는 모르겠지만 뭔가 의미가 있다고 생각합니다 .;;;
;;
;;
예는 다음과 같습니다.
$ echo A;;echo B
sh: 1: Syntax error: ";;" unexpected
$ echo A;;;echo B
sh: 1: Syntax error: ";;" unexpected
$ echo A; ;echo B
sh: 1: Syntax error: ";" unexpected
여기서는 이전에 명령 없이 사용했다는 사실과 관련하여 ; ;
대신 사용할 때 오류가 다르다는 것을 알 수 있습니다 . 다른 연산자인 것 같지만, 그것이 무엇에 적용되는지는 모르겠습니다.;;
;
;;
답변1
;;
POSIX 쉘의 case
... 구문 에서 명령문을 분리합니다 .esac
case foo in (a) cmd1; cmd2 ;; (b) cmd3; cmd4; esac
명령에 대해 알아보려면 를 실행할 수 있습니다 man that-command
. 호출기가 이면 을 less
눌러 매뉴얼 페이지 내에서 검색할 수 있습니다 /.
여기서는 을 실행 man sh
하고 검색합니다 ;;
. 일부 쉘은 case
명령문을 분리하기 위한 다른 연산자를 지원합니다(예: ;&
in ksh93
/ zsh
/ bash
/ mksh
, &|
in zsh
/ mksh
, ;;&
in bash
).