technique:linux:adminsys:bash
Table des matières
Aide mémoire des commandes Bash
Jokers
- ? remplace un seul caractère
- * remplace 0 ou plusieurs caractères
- [] remplace par n'importe quel caractère situé à l'intérieur 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 []
Groupement de commandes
- commande1 ; commande2 Lance commande2 après commande 1
- commande1 | commande2 Renvoie la sortie de commande1 à l'entrée de commande2
- commande & Lance commande en arrière-plan
- commande1 || commande2 SINON : ne lance commande2 que si commande1 échoue
- commande2 && commande2 ET : Lance commande1 si commande1 réussit
- ( liste ) Groupe de commandes
- { liste; } Groupe de commandes
- `commande`
- $(commande)
Substitution de commandes
Les redirections
- 0 : Entrée/Sortie standard ( E/S )
- 1 : Entrée standard ( clavier )
- 2 : Sortie standard ( ecran )
Entree/Sortie standard
- > fichier Redirection en sortie vers un fichier, écrase le fichier si le fichier existe
- < fichier L'entrée standard est un fichier
- » fichier Redirection en sortie vers un fichier, sans écrasement de fichiers
- « mot Lecture au clavier jusqu'à
mot
- <> fichier L'entrée et la sortie standard sont un même fichier
Les Tests
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épertoire
- -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 group 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 tube nommé ( FIFO )
- -r fichier Vrai si le fichier existe et si l'utilisateur a le droit de le lire
- -s fichier Vrai si le fichier existe et a 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 a le droit d'y écrire
- -x fichier Vrai si le fichier existe et peut être 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 même device et numéro d'inode
- FICHIER1 -nt FICHIER2 Vrai si FICHIER1 est plus récent (date de modification) que FICHIER2
- FICHIER1 -ot FICHIER2 Vrai si FICHIER1 est plus ancien (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
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
Les variables de paramètres
- $0 Nom du script en cours
- $1, $2, $3 … Arguments du script en cours
- $# Nombre d'arguments
- $* Tous les paramètres (espace de séparation dépend de $IFS )
- $@ Idem $* mais ne dépend pas d'$IFS
- $$ PID du script
- $! PID du dernier processus shell lancé en arrière-plan
- $? Code retour de la dernière commande
Les substitutions de variables
- $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:=Description de la tâche trop longue > 256, coupée à 255
technique/linux/adminsys/bash.txt · Dernière modification : 2020/04/06 15:38 de 127.0.0.1