Si intento ejecutar a;;b
sh, aparece este error:
sh: <number>: Syntax error: ";;" unexpected
Si lo intento a;;;b
me sale el mismo error, no ;;;
en lugar de ;;
, así que creo que eso ;;
significa algo, aunque no sé qué significa.
Aquí hay un ejemplo:
$ 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
Aquí puedes ver que cuando uso ; ;
en lugar de ;;
el error es diferente, relacionado con el hecho de que antes usé ;
sin un comando. ;;
Parece ser un operador diferente, aunque no sé a qué se aplica.
Respuesta1
;;
separa declaraciones en una case
... esac
construcción en shells POSIX:
case foo in (a) cmd1; cmd2 ;; (b) cmd3; cmd4; esac
Para conocer un comando, puede ejecutar man that-command
. Si su buscapersonas lo es less
, puede buscar dentro de la página de manual presionando /.
Aquí, correrías man sh
y buscarías ;;
. Algunos shells admiten otros operadores para separar declaraciones ( case
como ;&
en ksh93
/// zsh
, en / , en ).bash
mksh
&|
zsh
mksh
;;&
bash