? |
remplace un seul caractère |
* |
remplace 0 ou plusieurs caractères |
[] |
remplace par n'importe quel caractère situé à l'interieur des crochets |
[ - ] |
remplace par un caractère qui se situe dans la suite ( 0-9 de 0 à 9, a-z de a à z) |
[!] |
le contraire de [] |
commande1 ; commande2 |
Lance commande2 apres commande 1 |
|
commande1 | commande2 |
Renvoie le résultat de commande1 à commande2 |
|
commande & |
Lance commande en arrière-plan |
|
commande1 || commande2 |
SINON : ne lance commande2 que si commande1 echoue |
|
commande2 && commande2 |
ET : Lance commande1 si commande1 réussi |
|
( liste ) |
Groupe de commandes |
|
{ liste; } |
Groupe de commandes |
|
`Commande` |
Substitution de commandes : |
Entree/Sortie standart ( E/S ) |
|
0 |
Entree Standart ( clavier ) |
1 |
Sortie Standart ( ecran ) |
2 |
Erreur Standart ( ecran ) |
Entree/Sortie standart |
|
> fichier |
Redirection en sortie vers un fichier, écrase le fichier si le fichier existe |
< fichier |
L'entrée standart est un fichier |
>> fichier |
Redirection en sortie vers un fichier, sans écrasement de fichiers |
<< mot |
Lecture au clavier jusqu'a 'mot' |
<> fichier |
L'entrée et la sortie standart est un fichier |
Attributs de fichiers |
|
-b fichier |
Vrai si le fichier existe et est un fichier en mode bloc |
-c fichier |
Vrai si le fichier existe et est un fichier en mode caractère |
-d fichier |
Vrai si le fichier existe et est un répertroie |
-e fichier |
Vrai si le fichier existe |
-f fichier |
Vrai si le fichier est un fichier ordinaire |
-g fichier |
Vrai si le fichier existe et est grouo sid ( sgid ) |
-h fichier |
Vrai si le fichier existe et est un lien symbolique |
-k fichier |
Vrai si le fichier existe et est sticky bit |
-p fichier |
Vrai si le fichier existe et est une pipe nommé ( FIFO ) |
-r fichier |
Vrai si le fichier existe et si l'utilisateur à le droit de le lire |
-s fichier |
Vrai si le fichier existe et à une taille supérieure à 0 ( non-vide ) |
-t fd |
True if fichier descriptor fd is open and refers to a terminal. |
-u fichier |
Vrai si le fichier existe et est suid |
-w fichier |
Vrai le fichier existe et si l'utilisateur à le droit d'y écrire |
-x fichier |
Vrai si le fichier existe et peut etre executé par l'utilisateur |
-O fichier |
Vrai si le fichier existe et possède meme id que l'utilisateur |
-G file |
Vrai si le fichier existe et possède le meme gid que l'utilisateur |
-L file |
Vrai si le fichier existe et est un lien symbolique |
-S file |
Vrai si le fichier existe est un Socket |
Comparaison de fichiers |
|
FICHIER1 -ef FICHIER2 |
Vrai si les deux fichiers ont le meme device et numéro d'inode |
FICHIER1 -nt FICHIER2 |
Vrai si FICHIER1 est plus récent ( par rapport à la date de modification ) que FICHIER2 |
FICHIER1 -ot FICHIER2 |
Vrai si FICHIER1 est plus vieux ( par rapport à la date de modification ) que FICHIER2 |
Chaines de caractères |
|
[-n] CHAINE_DE_CHARACTERES |
Vrai si la chaine n'est pas vide |
-z CHAINE_DE_CHARACTERES |
Vrai si le chaine est vide |
CHAINE1 = CHAINE2 |
Vrai si les deux chaines sont identiques |
CHAINE1 != CHAINE2 |
Vrai si les deux chaines sont différentes |
Sur les nombres entiers |
|
ENTIER1 -eq ENTIER2 |
Vrai si ENTIER1 est égal à ENTIER2 |
ENTIER1 -ge ENTIER2 |
Vrai si ENTIER1 est plus grand ou égal à ENTIER2 |
ENTIER1 -gt ENTIER2 |
Vrai si ENTIER1 est supérieur à ENTIER2 |
ENTIER1 -le ENTIER2 |
Vrai si ENTIER1 est plus petit ou égal à ENTIER2 |
ENTIER1 -lt ENTIER2 |
Vrai si ENTIER1 est plus petit que ENTIER2 |
ENTIER1 -ne ENTIER2 |
Vrai si ENTIER1 est différent de ENTIER2 |
$0 |
Nom du script en cours |
$1, $2, $3 ... |
Argument du script en cours |
$# |
Nombre d'arguments |
$* |
Tous les paramètres ( espace se séparation dépent de $IFS ) |
$@ |
Idem $* mais ne dépent pas d'$IFS |
$$ |
PID du script |
$! |
PID du dernier processus shell lancé en arrière-plan |
$? |
Code retour de la derniere commande |
$variable ou ${variable} |
valeur de $variable |
${#variable} |
Nombre de caractères de la variable $variable |
${variable:-mot} |
Renvoie $variable si elle est existe est non nulle, sinon renvoie ' mot ' |
${variable:+mot} |
Renvoie ' mot ' si la variable $variable existe et est non nulle, sinon elle retourne 0 |
${variable:=mot} |
Affecte ' mot ' à $variable si elle est nulle |
${variable:?mot} |
Affiche ' mot ' si la $variable n'existe pas, et termine la commande ou le script |
${variable#expression} |
Si expression = debut de variable -> supprime la plus partie reconnue et retourne le reste |
${variable##expression} |
Si expression = debut de variable -> supprime la plus grande partie reconnue et retourne le reste |
${variable%expression} |
Si expression = fin de variable -> supprime la plus partie reconnue et retourne le reste |
${variable%%expression} |
Si expression = fin de variable -> supprime la plus grande partie reconnue et retourne le reste |
if condition then commandes1 commandes2 ; ... else autrecommande1; autrecommande2 fi |
SI condition ALORS ... SINON ... FIN_SI |
for i in liste do commande1 ; commande2 ... done |
POUR i DANS la_liste FAIT .... FIN_FAIT |
until condition do commande1; commande2 ... done |
JUSQUACEQUE condition FAIT ... FIN_FAIT |
while condition do commande1; commande2 ... done |
TANTQUE condition FAIT ... FIN_FAIT |