;;은 무슨 뜻인가요? 쉬에서 해?

;;은 무슨 뜻인가요? 쉬에서 해?

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).

관련 정보