Bash¶
Agir suivant la valeur d’une variable¶
# Pour comparer des chaînes de caractères,
# utiliser == au lieu de -eq
if [ $i -eq 0 ]
then
# actions à réaliser si $i est égal à 0
else
# actions à réaliser si $i n'est pas égal à 0
fi
Passer un paramètre¶
echo "Nombre de paramètres passés au script : $#"
echo "Premier paramètre : $1"
echo "Deuxième paramètre : $2"
Récupérer la sortie d’une commande¶
Récupérer dans une variable, ce que la commande affiche dans le terminal.
output=$(pwd)
echo "Vous êtes dans le répertoire $output"
Lire un fichier ligne par ligne¶
# read n'est pas fait pour cela, mais dans ce contexte
# on se permet de l'utiliser ...
cat /etc/network/interfaces | while read ligne
do
echo "Ligne lue : $ligne"
done
Affiche :
Ligne lue : auto lo
Ligne lue : iface lo inet loopback
Ligne lue : auto eth0
Ligne lue : iface eth0 inet dhcp
Lire la valeur de retour d’une commande¶
rm fichier.txt
# Affiche 0 si le fichier a bien été supprimé par rm
# ou 1 dans le cas contraire
echo $?
Boucler sur les valeurs dans un intervalle¶
for i in {10..20}
do
echo "La valeur de i est : $i"
done
Patienter un certain temps¶
# Dormir 60 secondes
sleep 60
# Dormir 30 millisecondes
sleep 0.03