Se eu tentar executar a;;b
em sh, recebo este erro:
sh: <number>: Syntax error: ";;" unexpected
Se eu tentar, a;;;b
recebo o mesmo erro, não ;;;
em vez de ;;
, então acho que isso ;;
significa alguma coisa, embora não saiba o que significa.
Aqui está um exemplo:
$ 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
Aqui você pode ver que quando eu uso ; ;
em vez ;;
do erro é diferente, referente ao fato de eu usar ;
sem comando antes. ;;
parece ser um operador diferente, embora eu não saiba a que se aplica.
Responder1
;;
separa instruções em uma construção case
... esac
em shells POSIX:
case foo in (a) cmd1; cmd2 ;; (b) cmd3; cmd4; esac
Para descobrir mais sobre um comando, você pode executar man that-command
. Se o seu pager for less
, você pode pesquisar na página de manual pressionando /.
Aqui, você correria man sh
e procuraria por ;;
. Alguns shells suportam outros operadores para separar case
instruções (como ;&
in ksh93
/ zsh
/ bash
/ mksh
, &|
in zsh
/ mksh
, ;;&
in bash
).