Si j'essaye d'exécuter a;;b
en sh, j'obtiens cette erreur:
sh: <number>: Syntax error: ";;" unexpected
Si j'essaie, a;;;b
j'obtiens la même erreur, pas à la ;;;
place de ;;
, donc je pense que cela ;;
signifie quelque chose, même si je ne sais pas ce que cela signifie.
Voici un exemple:
$ 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
Ici, vous pouvez voir que lorsque j'utilise ; ;
au lieu de ;;
l'erreur est différente, se rapportant au fait que j'ai utilisé ;
sans commande auparavant. ;;
semble être un opérateur différent, même si je ne sais pas à quoi il s'applique.
;;
, et je n'ai pas trouvé de dupe ici.Réponses:
;;
sépare les instructions dans une constructioncase
...esac
dans des shells POSIX:Pour découvrir une commande, vous pouvez exécuter
man that-command
. Si votre téléavertisseur l'estless
, vous pouvez effectuer une recherche dans la page de manuel en appuyant sur /.Ici, vous exécutez
man sh
et recherchez;;
. Certains shells prennent en charge d'autres opérateurs pour séparer lescase
instructions (comme;&
dansksh93
/zsh
/bash
/mksh
,&|
danszsh
/mksh
,;;&
dansbash
).la source
less
, il est parfois pratique de$ man bash|grep -C1 ';;'
(
avanta)
etb)
, et vous avez besoin;;
aprèscmd4
(
effet, mais vous n'avez toujours pas eu besoin du;;
précédentesac
(bien que cela n'ait pas nui).;;
était facultatif.