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`