O que ;; fazer em sh?

O que ;; fazer em sh?

Se eu tentar executar a;;bem sh, recebo este erro:

sh: <number>: Syntax error: ";;" unexpected

Se eu tentar, a;;;brecebo 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... esacem 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 she procuraria por ;;. Alguns shells suportam outros operadores para separar caseinstruções (como ;&in ksh93/ zsh/ bash/ mksh, &|in zsh/ mksh, ;;&in bash).

informação relacionada