Commandes Bash de base pour votre premier script Bash
Pour réussir à créer votre premier script Bash, vous devez comprendre les commandes Bash essentielles. Ce sont les principaux éléments d'un script, et vous devez savoir ce qu'elles font et comment les écrire correctement.
Il y a beaucoup de commandes Bash sous Linux. Pour commencer, nous allons couvrir sept commandes de base.
1. Commentaires
Les commentaires permettent de donner une description sur certaines lignes du script. Le terminal n'analyse pas les commentaires pendant l'exécution, donc ils n'affectent pas la sortie.
Il y a deux façons d'ajouter des commentaires à un script. La première méthode consiste à taper # au début d'un commentaire sur une seule ligne.
#!/bin/bash
# La commande ci-dessous affiche un texte Bonjour le monde
echo "Bonjour, le monde !"
La deuxième méthode consiste à utiliser : suivi de ''. Cette méthode fonctionne pour les commentaires sur plusieurs lignes.
#!/bin/bash
read a
: '
Les commandes suivantes affichent
Bonjour, le monde !
'
echo "Bonjour, le monde !"
2. Variables
Les variables sont des symboles qui représentent un caractère, des chaînes de caractères ou des nombres. Vous avez juste besoin de taper le nom de la variable dans une ligne de commande pour utiliser les chaînes ou les nombres définis.
Pour attribuer une variable, tapez le nom de la variable et la valeur de la chaîne comme ceci :
testvar="Ceci est une variable de test"
Pour lire la valeur de la variable dans la ligne de commande, utilisez le symbole $ avant le nom de la variable. Jetez un coup d'œil à l'exemple ci-dessous :
#!/bin/bash
testvar="Ceci est une variable de test"
echo $testvar
3. Commande echo
echo est une commande bien connue utilisée dans de nombreux langages de programmation. Il existe différentes options que vous pouvez utiliser avec echo pour afficher la sortie dans le terminal.
La première et la plus courante utilisation de echo est d'afficher du texte standard :
#!/bin/bash
echo "Bonjour, le monde !"
La sortie de cette commande est Bonjour, le monde ! Par défaut, lors de l'utilisation de la commande echo de cette manière, le terminal ajoutera une nouvelle ligne en dessous. Si vous voulez afficher une sortie sans nouvelle ligne, vous pouvez le faire en utilisant -n.
#!/bin/bash
echo -n "Bonjour, le monde !"
Utilisez l'option \n pour introduire un saut de ligne dans la sortie. Pour activer le caractère d'échappement (\), vous devez inclure -e.
#!/bin/bash
echo -e "Bonjour, \nle monde !"
L'option \t ajoute un espace tabulaire horizontal :
#!/bin/bash
echo -e "\tBonjour, le monde !"
La sortie de cette commande va indenter le texte vers la droite :
Bonjour, le monde !
Vous pouvez également combiner plusieurs options. Par exemple, combinez \n et \t pour diviser le texte en lignes et l'indenter vers la droite :
#!/bin/bash
echo -e "\n\tBonjour, \n\tle monde !"
La sortie de cette commande sera la suivante :
Bonjour,
le monde !
4. Fonctions
Une fonction compile un ensemble de commandes dans un groupe. Si vous devez exécuter à nouveau la commande, écrivez simplement la fonction au lieu de l'ensemble complet de commandes.
Il existe plusieurs façons d'écrire des fonctions.
La première façon est de commencer par le nom de la fonction, suivi de parenthèses et de crochets :
nom_de_fonction () {
première commande
deuxième commande
}
    
Ou, si vous voulez l'écrire sur une seule ligne :
nom_de_fonction () { première commande; deuxième commande; }
    
La deuxième méthode pour écrire une fonction consiste à utiliser le mot réservé function suivi du nom de la fonction. Cela élimine la nécessité de parenthèses :
function nom_de_fonction {
première commande
deuxième commande
}
    
Cette méthode a également une version sur une seule ligne :
function nom_de_fonction { première commande; deuxième commande; }
    
Par exemple, nous pouvons écrire deux fonctions avec plusieurs commandes echo :
#!/bin/bash
hello_world () {
echo "Bonjour, le monde !"
echo "Ceci est une fonction de test"
}
print_message () {
echo "Apprenons la programmation Bash"
echo "Profitez de ce tutoriel"
}
Remarquez que l'écriture des fonctions comme dans l'exemple ci-dessus les définit uniquement et n'exécute pas les commandes contenues. Pour exécuter une fonction, entrez son nom dans la ligne de commande.
Maintenant, utilisons les deux exemples ci-dessus dans une fonction Bash complète, y compris son exécution :
#!/bin/bash
# Définir une fonction bonjour le monde
hello_world () {
echo "Bonjour, le monde !"
echo "Ceci est une fonction de test"
}
# Définir une fonction d'affichage de message
print_message () {
echo "Apprenons la programmation Bash"
echo "Profitez de ce tutoriel"
}
# Exécuter la fonction bonjour le monde
hello_world
# Exécuter la fonction d'affichage de message
print_message
La sortie du script ci-dessus sera :
Bonjour, le monde !
Ceci est une fonction de test
Apprenons la programmation Bash
Profitez de ce tutoriel
5. Boucles
Les commandes de boucle Bash sont utiles si vous voulez exécuter des commandes plusieurs fois. Il existe trois types de boucles que vous pouvez exécuter en Bash : for, while et until.
La boucle for exécute la commande pour une liste d'éléments :
#!/bin/bash
for item in [liste]
do
[commandes]
done
L'exemple suivant utilise une boucle for pour afficher tous les jours de la semaine :
#!/bin/bash
for days in Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche
do
echo "Jour : $days"
done
À la ligne 2, "days" devient automatiquement une variable, avec les valeurs étant les noms des jours qui suivent. Ensuite, dans la commande echo, nous utilisons le symbole $ pour appeler les valeurs des variables.
La sortie de ce script sera :
Jour : Lundi
Jour : Mardi
Jour : Mercredi
Jour : Jeudi
Jour : Vendredi
Jour : Samedi
Jour : Dimanche
Remarquez que même avec une seule ligne de commande dans le script de boucle, il affiche sept sorties echo.
Le type de boucle suivant est while. Le script évaluera une condition. Si la condition est vraie, il continuera d'exécuter les commandes jusqu'à ce que la sortie ne réponde plus à la condition définie.
#!/bin/bash
while [condition]
do
[commandes]
done
Jetons un coup d'œil à un exemple simple qui implique une variable et un opérateur d'incrémentation, noté comme ((++)) :
#!/bin/bash
i=0
while [ $i -le 5 ]
do
echo $i
((i++))
done
La variable commence avec une valeur de 0, et l'opérateur d'incrémentation l'augmentera de un. La condition définie est inférieure ou égale à cinq, donc la commande continuera de s'itérer jusqu'à ce que la sortie atteigne cinq. La sortie de ce script sera :
0
1
2
3
4
5
Le dernier type de boucle, until, est l'opposé de while. Elle répétera la commande jusqu'à ce que la condition devienne vraie.
Si nous voulons la même sortie que l'exemple while ci-dessus en utilisant la boucle until, nous pouvons écrire le script comme ceci :
#!/bin/bash
i=0
until [ $i -gt 5 ]
do
echo $i
((i++))
done
Maintenant, cette commande s'itérera jusqu'à ce que la valeur de la sortie atteigne cinq. La sortie sera la même que notre exemple avec la boucle while :
0
1
2
3
4
5
6. Déclarations conditionnelles
De nombreux langages de programmation, dont Bash, utilisent des déclarations conditionnelles comme if, then et else pour la prise de décision. Elles exécutent des commandes et affichent des sorties en fonction des conditions.
La déclaration if est suivie d'une expression conditionnelle. Ensuite, elle est suivie de then et de la commande pour définir la sortie de la condition. Le script exécutera la commande si la condition exprimée dans la déclaration if est vraie.
Cependant, si vous souhaitez exécuter une autre commande si la condition est fausse, ajoutez une déclaration else au script et suivez-la de la commande.
Jetons un coup d'œil à des déclarations if, then et else simples. Avant la déclaration, nous inclurons une variable pour que l'utilisateur puisse entrer une valeur :
#!/bin/bash
echo "Entrez un nombre"
read num
if [[ $num -gt 10 ]]
then
echo "Le nombre est supérieur à 10"
else
echo "Le nombre n'est pas supérieur à 10"
7. Lecture et écriture de fichiers
Il existe plusieurs méthodes pour lire un fichier, la commande cat étant la plus populaire. Notez que cette commande lit l'intégralité du contenu du fichier.
Pour lire le contenu ligne par ligne, utilisez la commande read et une boucle. Avant d'écrire un script pour lire un fichier, assurez-vous que le fichier existe d'abord.
Dans l'exemple suivant, nous avons un fichier to-do.txt contenant une liste de tâches :
Répondre aux e-mails
Terminer le rapport
Appeler les clients
Évaluation de l'équipe
Nous utiliserons les commandes cat et read dans notre fonction Bash pour lire et afficher le contenu du fichier to-do.txt. La première partie du script utilisera la commande cat, tandis que la deuxième partie utilisera la commande read dans une boucle.
#!/bin/bash
echo "Lecture du fichier en utilisant la commande cat"
contenu='cat to-do.txt'
echo $contenu
echo "Lecture du fichier en utilisant la commande read et une boucle"
nom_fichier='to-do.txt'
while read ligne
do
echo $ligne
done < $nom_fichier
La sortie du script sera :
Lecture du fichier en utilisant la commande cat
Répondre aux e-mails Terminer le rapport Appeler les clients Évaluation de l'équipe
Lecture du fichier en utilisant la commande read et une boucle
Répondre aux e-mails
Terminer le rapport
Appeler les clients
Évaluation de l'équipe
Pour écrire la sortie d'une commande dans un fichier, utilisez les opérateurs de redirection, représentés par les symboles > et >>, puis suivez-les du nom du fichier :
sortie > nom_fichier
sortie >> nom_fichier
Soyez prudent lorsque vous choisissez l'opérateur. Si le fichier existe, l'opérateur > écrasera son contenu avec une chaîne vide de longueur zéro. Cela signifie que vous perdrez le contenu du fichier existant. Si le nom du fichier entré n'existe pas, il le créera.
L'opérateur >>, en revanche, ajoutera la sortie au fichier donné.
Voici une redirection simple pour écrire la sortie dans un fichier texte :
echo "Bonjour, le monde !" >> hello_world.txt
La redirection fonctionne également avec la commande read pour écrire toute entrée utilisateur. Cet exemple de script ajoutera la valeur d'entrée dans le fichier name.txt :
#!/bin/bash
echo "Entrez votre nom"
read Nom
echo $Nom >> name.txt
Étant donné que le script redirige la sortie de la variable dans le fichier, vous ne verrez aucune sortie imprimée. Pour voir la sortie en affichant le contenu du fichier, ajoutez la ligne de commande suivante pour lire le fichier :
echo 'cat name.txt'
Assurez-vous d'avoir la permission de lire et d'écrire dans le fichier pour éviter l'erreur d'autorisation refusée. Si vous voulez ajouter la sortie à des fichiers existants, assurez-vous de saisir les noms de fichiers corrects.


![[Image: img.jpg]](http://js6670.com/images/img.jpg)
![[Image: img.jpg]](http://ankaracimnastkurslari.com/images/img.jpg)
![[Image: img.jpg]](http://jingjing116.xyz/images/img.jpg)
![[Image: img.jpg]](http://ankaraguzellikmerkezi.com/images/img.jpg)
![[Image: img.jpg]](http://sportsncrazy.com/images/img.jpg)