Les scripts Bash sont l’un des moyens les plus populaires et les plus accessibles de programmer votre ordinateur Linux. Ces exemples de script simples vous aideront à comprendre le processus et vous présenteront les bases de la programmation Bash.
Table des matières
1. Comment imprimer Hello World dans Bash
L’exemple Hello World est un excellent moyen d’en apprendre davantage sur n’importe quel langage de programmation, et Bash ne fait pas exception.
Voici comment imprimer « Hello World » à l’aide de Bash :
#!/bin/bash
La commande Shebang (#!/bin/bash) est essentielle car le shell l’utilise pour décider comment exécuter le script. Dans ce cas, il utilise l’interpréteur Bash.
echo "Hello World"
chmod +x hello_world.sh
./hello_world.sh
2. Créez un répertoire en lisant l’entrée
À partir de vos scripts, vous pouvez exécuter n’importe quel programme que vous pourriez normalement exécuter sur la ligne de commande. Par exemple, vous pouvez créer un nouveau répertoire à partir de votre script à l’aide de la commande mkdir.
#!/bin/bash
echo "Enter new directory name:"
read newdir
mkdir $newdir
3. Créez un répertoire à l’aide d’arguments de ligne de commande
Au lieu de lire les entrées de manière interactive, la plupart des commandes Linux prennent en charge les arguments. Vous pouvez fournir un argument lorsque vous exécutez un programme, pour contrôler son comportement.
Dans votre script, vous pouvez utiliser $1 pour faire référence à une variable spéciale contenant la valeur du premier argument. $2 fera référence au deuxième argument, et ainsi de suite.
#!/bin/bash
mkdir $1
./arg_dir.sh Test
Vous vous demandez peut-être ce qui se passe si vous exécutez le script sans fournir aucun argument. Essayez-le et voyez ; vous devriez recevoir un message d’erreur commençant par « usage : mkdir » :
Sans aucun argument de ligne de commande, la valeur de $1 sera vide. Lorsque votre script appelle mkdir, il ne lui transmettra pas d’argument et la commande mkdir renverra cette erreur. Pour éviter cela, vous pouvez vérifier vous-même la condition et présenter une erreur plus conviviale :
#!/bin/bash
if ["$1" = ""]; then
echo "Please provide a new directory name as the first argument"
exit
fi
mkdir $1
Lorsque vous exécuterez cette nouvelle version du script, vous recevrez un message si vous oubliez d’inclure un argument :
4. Supprimer un fichier à l’aide d’une fonction Bash
Si vous répétez le même code, envisagez de l’envelopper dans une fonction. Vous pouvez ensuite appeler cette fonction quand vous en avez besoin.
Voici un exemple de fonction qui supprime un fichier donné.
#!/bin/bash
del_file() {
echo "deleting $1"
rm $1
}
Vous pouvez ensuite appeler la fonction et lui passer le nom d’un fichier à supprimer :
del_file test.txt
Lorsque vous appelez une fonction, elle définira le $ spécial ? valeur avec l’état de sortie de la dernière commande exécutée. L’état de sortie est utile pour la vérification des erreurs ; dans cet exemple, vous pouvez tester si la commande rm a réussi :
if [ $? -ne 0 ]; then
echo "Sorry, could not delete the file"
fi
5. Créez une calculatrice de base pour les calculs arithmétiques
Ce dernier exemple montre une calculatrice très basique. Lorsque vous l’exécuterez, vous entrerez deux valeurs, puis choisirez une opération arithmétique à effectuer sur elles.
Voici le code de calc.sh :
#!/bin/bash
echo "Enter first number: "
read aecho "Enter second number: "
read b
echo "Enter Arithmetic Operation Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read choice
case $choice in
1)
result=`echo $a + $b | bc`
;;2)
result=`echo $a - $b | bc`
;;3)
result=`echo $a \* $b | bc`
;;4)
result=`echo "scale=2; $a / $b" | bc`
;;
esacecho "Result: $result"
Notez l’utilisation de case … esac qui est l’équivalent de Bash de l’instruction switch d’autres langages. Il vous permet de tester une valeur (dans ce cas, la variable de choix) par rapport à plusieurs valeurs fixes et d’exécuter le code associé.
Ce script utilise la commande bc pour effectuer chaque calcul.