Newer
Older
cours-unix-shell / src / shell / commandes.md

Commandes diverses - Shell - UNIX

Commandes

# commentaires (mais #!/bin/sh en début de fichier est le shebang)
( commande ) exécute la commande dans un sous-shell
read a lecture d'une entrée pendant l'exécution d'un script
exit num renvoie le statut du script au shell appelant
. script ou source script inclusion et exécution du script dans le shell courant
`cmd1 \ \ cmd2` séparateur conditionnel (cmd2 est exécutée même si cmd1 ne s'est pas exécutée correctement)
cmd1 && cmd2 séparateur conditionnel (cmd2 est exécutée seulement si cmd1 s'est exécutée correctement)
env liste toutes les variables d'environnement.
env programme exécute le programme. Souvent utilisé dans les scripts après le shebang #!
set liste de toutes les variables.
Positionne les paramètres $i (set a b c positionne $1 à a, $2 à b et $3 à c).
unset var remise à zéro de la variable var
type cmde indique la nature (et la localisaton) d'une commande
alias al='cmd' crée une commande al équivalente à la commande cmd (qui peut être complexe)
touch fichier change la date de dernière modification du fichier. Si le fichier n'existe pas, crée un fichier vide.

expr

expr exécute des opérations arithmétiques sur des entiers (l'opérateur peut être +, -, \*, /, %, =, \>, \<, \>=, \<=, !=).

L'expression est une commande, donc pour affecter une opération à une variable, il faut récupérer sa sortie standard avec $(...) :

a=$(expr $b + $c)

Si vous utilisez bash, il existe une syntaxe plus facile: a=$((b+c)) (voir How to Increment and Decrement Variable in Bash (Counter))