L'analyse des commandes est faite par le shell dans l'ordre suivant :
| Contexte | Signification particulière dans le contexte | |
|---|---|---|
| ␣ | Shell | L'espace sépare les arguments, le nombre n'a pas d'importance. |
| ↵ ou ; | Shell | Il sépare 2 commandes à exécuter l'une après l'autre. Le ;; indique la fin d'un cas de case ... in ; cas1) ... ;; |
| / | Filename | Indique que l'on traverse le répertoire indiqué à gauche. Si en premier : c'est le début d'un chemin absolu. |
| expr | La division | |
| & | Shell | Seul, il lance en arrière plan la commande indiquée à gauche. && lance la commande de droite seulement si celle de gauche s'est déroulé sans erreur. |
| sed | Quand il est dans le remplacement il correspond à ce qui a été trouvé par l'expression régulière. | |
| * | Pattern | Correspond à une suite quelconque de caractères pouvant être vide. |
| RegExp | Répète ce qui précède un nombre de fois ≥ 0. | |
| expr | La multiplication. | |
| ' | Shell | La signification de tous les caractères entre cotes est annulée. |
| " | Shell | La signification de tous les caractères entre guillemets est annulée sauf $ et \. |
| \ | Shell Pattern | La signification du caractère suivant est annulée. |
| RegExp | La signification du caractère suivant est annulée. Attention si le caractère suivant n'a pas de signification il peut en prendre une. Dans une RegExp étendue \2 représente ce qui a été trouvé dans le deuxième groupe. | |
| > | Shell | Redirection de la sortie standard (sauf si précédé d'un chiffre). |
| < | Shell | Redirection de l'entrée standard. |
| ( | Shell | Les commandes entre parenthèses sont traitées comme une seule commande. |
| RegExp étendue | L'expression régulière entre parenthèses forme un groupe. | |
| | | Shell | La sortie standard de la commande de gauche est dirigée vers l'entrée standard de la commande de droite. |
| RegExp étendue | L'expression de gauche ou celle de droite. | |
| $ | Shell | Remplacé par le contenu de la variable ou bien la sortie standard de la commande qui suit si suivi d'une parenthèse. |
| RegExp | Indique la fin d'une ligne. | |
| vi | Numéro de la dernière ligne ou commande permettant d'aller en fin de ligne. | |
| + | RegExp étendue | Répète ce qui précède un nombre de fois ≥ 1. |
| expr | L'addition | |
| [ | Pattern RegExp | Début d'une liste de caractères et d'intervalles de caractères. |
| ^ | RegExp | Indique le début de ligne |
| RegExp [ | Si c'est le premier caractère après le crochet, il indique la négation : ce qui n'est pas dans la liste. | |
| ! | bash | Ce caractère n'est pas utilisable sous bash car il déclenche une fonctionnalité inutile. Tapez set +H pour désactiver cette fonctionnalité. |
| Pattern [ | Si c'est le premier caractère après le crochet, il indique la négation : ce qui n'est pas dans la liste. | |
| ~ | Pattern | Si c'est le premier caractère d'un argument il est remplacé par le répertoire de connexion du login indiqué après. Si vide, c'est le vôtre. |
| - | Commande | Si c'est le premier caractère d'un des premiers argument, il indique à la commande que c'est une option. |
| Pattern [ RegExp [ | S'il y a un caractère à gauche (pas un intervalle ou le début) alors cela représente un intervalle de caractère menant jusqu'au suivant. | |
| expr | La soustraction | |
| = | Shell | Sans espace autour et avant une commande ou seul sur une ligne, c'est une affectation. |
| ? | Pattern | Un caractère quelconque. |
| RegExp étendue | Répète ce qui précède 0 ou 1 fois. | |
| . | RegExp | Un caractère quelconque. |
| Filename | L'entité '.' représente le répertoire courant | |
| # | Shell | Début de commentaire s'il est en début de ligne ou précédé d'un espace. |
| { | Shell | Signification non vue dans ce cours. |
| ` | Shell | Signification non vue dans ce cours car dépréciée $(c) est équivalent à `c` |