Comprendre le shell Linux et les scripts shell de base - Partie 1
Le shell Linux, ou interface de ligne de commande, est un programme puissant qui permet aux utilisateurs d’interagir avec le système d’exploitation via des commandes textuelles.
Comprendre les bases du shell Linux et des scripts shell peut considérablement améliorer votre efficacité et votre contrôle de votre système.
Dans ce guide, nous allons explorer les concepts clés et fournir des conseils aux débutants et à ceux qui souhaitent se plonger dans les scripts shell de base.
Comprendre Linux Shell
Le shell est un programme de ligne de commande qui interprète les commandes de l’utilisateur et les traduit en actions que le système d’exploitation peut effectuer. Il agit comme un intermédiaire entre l’utilisateur et le noyau Linux, permettant aux utilisateurs de contrôler et de manipuler le système par le biais de commandes.
- Shell – Un interpréteur de ligne de commande qui connecte un utilisateur au système d’exploitation, permettant l’exécution de commandes ou la création de scripts de texte.
- Processus : toute tâche exécutée par un utilisateur dans le système est appelée processus. Un processus est un peu plus complexe qu’une simple tâche.
- Fichier : un fichier réside sur le disque dur (HDD) et contient des données appartenant à un utilisateur.
- X-Windows (X11) – Un mode de Linux où l’écran (moniteur) peut être divisé en petites « parties » appelées fenêtres, permettant à un utilisateur d’effectuer plusieurs tâches simultanément, de passer facilement d’une tâche à l’autre et de visualiser des graphiques d’une manière visuellement attrayante.
- Terminal – Un moniteur qui n’a la capacité d’afficher que du texte, sans graphiques ou avec des graphiques très basiques.
- Session : temps écoulé entre la connexion et la déconnexion du système.
Types de shells Linux
Linux prend en charge plusieurs types de shells, Bash (Bourne Again Shell) étant le plus répandu. D’autres coquillages notables incluent Zsh (Z Shell), Fish et Dash.
Chaque shell a ses caractéristiques et sa syntaxe, répondant aux différentes préférences et besoins des utilisateurs.
- Bash - C’est le shell par défaut pour la plupart des distributions Linux et est largement utilisé en raison de sa polyvalence et de ses puissantes capacités de script.
- Zsh - Il est connu pour ses fonctionnalités améliorées et son interface utilisateur améliorée. Il intègre des fonctionnalités d’autres shells, notamment Bash et Korn.
- Fish – Il est conçu pour être convivial en mettant l’accent sur la simplicité et la découvrabilité en fournissant une coloration syntaxique et des suggestions automatiques pour les commandes.
- Dash – Il s’agit d’un shell léger conçu pour l’efficacité qui est souvent utilisé comme shell système par défaut sur les distributions Linux minimalistes.
- Ksh – Il s’agit d’un shell puissant axé à la fois sur l’utilisation interactive et la création de scripts qui intègre des fonctionnalités du shell Bourne (sh) et du shell C (csh).
- Csh – Il est conçu avec une syntaxe ressemblant au langage de programmation C, connu pour ses fonctionnalités interactives et ses capacités de script.
Commandes de base
Il existe des milliers de commandes pour les utilisateurs en ligne de commande. Que diriez-vous de vous souvenir de chacun d’entre eux ? Hmm ! Tout simplement, vous ne pouvez pas. Le vrai pouvoir d’un ordinateur est de simplifier votre travail. Pour faciliter votre travail, vous devez automatiser les processus et, par conséquent, vous avez besoin de scripts.
Les scripts sont des collections de commandes stockées dans un fichier. Le shell peut lire ce fichier et agir sur les commandes comme si elles avaient été tapées sur le clavier. Le shell fournit également une variété de fonctionnalités de programmation utiles pour rendre les scripts vraiment puissants.
Bases de la programmation Shell
La programmation shell consiste à créer des scripts qui utilisent les capacités d’un shell, tels que Bash, pour automatiser des tâches et exécuter des commandes. Comprendre les bases de la programmation shell est essentiel pour une utilisation efficace et personnalisée de l’interface de ligne de commande.
Shebang (# !) Ligne
Chaque script shell commence par une ligne shebang spécifiant l’interpréteur pour exécuter le script.
Pour les scripts Bash, il s’agit généralement de # !/bin/bash.
#!/bin/bash
Commentaires
Utilisez # pour ajouter des commentaires à votre script. Les commentaires sont pour la lisibilité humaine et sont ignorés par le shell.
# This is a comment
Variables
Les variables stockent les données dans un script. Utilisez l’opérateur d’affectation (=) sans espaces pour attribuer des valeurs aux variables.
greeting="Hello, Shell!"
Entrée de l’utilisateur
Utilisez la commande read pour obtenir une entrée utilisateur lors de l’exécution du script.
read -p "Enter your name: " username
Écho
La commande echo est utilisée pour imprimer la sortie sur le terminal, qui est souvent utilisé pour afficher des messages ou des valeurs variables.
echo "Welcome, $username!"
Instructions conditionnelles
Utilisez if, elif et else pour la prise de décision dans les scripts.
if [ condition ]; then
# code to execute if the condition is true
else
# code to execute if the condition is false
fi
Boucles
Utilisez les boucles for et while pour l’exécution répétitive des commandes.
for i in {1..5}; do
# code to repeat five times
done
Fonctions
Encapsulez le code dans des fonctions pour plus de modularité et de réutilisation.
function greet {
echo "Hello, $1!"
}
greet "John"
Statut de sortie
Les commandes renvoient un état de sortie. Utilisez $ ? pour vérifier si la dernière commande a réussi (état de sortie 0) ou si elle a rencontré une erreur.
if [ $? -eq 0 ]; then
echo "Command executed successfully."
else
echo "Error during command execution."
fi
Autorisations de fichiers
Lorsqu’il s’agit d’opérations sensibles dans des scripts, utilisez la commande chmod pour définir les autorisations appropriées sur le fichier.
chmod +x myscript.sh
À propos de Shell Script
Un script shell est simplement un fichier texte avec une extension « .sh » qui dispose d’autorisations exécutables.
Voici quelques conseils pour vous guider tout au long du processus d’écriture et d’exécution d’un script :
- Commencez votre script par une ligne shebang (# !/bin/bash) pour spécifier l’interpréteur.
- Ajoutez des commentaires pour expliquer l’objectif de votre script, en particulier pour les segments de code complexes ou longs.
- Utilisez la commande echo pour imprimer le message "Hello, World !» au terminal.
- Avant l’exécution, assurez-vous que votre script dispose des autorisations nécessaires à l’aide de la commande chmod, par exemple, chmod +x script.sh.
« Voici à quoi ressemble votre premier script shell. »
#!/bin/bash
My first script
echo "Hello World!"
Enregistrez les lignes ci-dessus dans un fichier texte, rendez-le exécutable et exécutez-le, comme décrit ci-dessus.
Écriture du deuxième scénario
Très bien, il est temps de passer au script suivant, qui affichera votre « nom d’utilisateur » et listera les processus en cours d’exécution.
#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps
C’était cool ? L’écriture d’un script est aussi simple que de concevoir une idée et de composer une séquence de commandes. Cependant, il existe certaines limites. Les scripts shell excellent dans les opérations concises du système de fichiers et dans l’intégration de fonctionnalités existantes par le biais de filtres et d’outils en ligne de commande via des tubes.
Lorsque vos exigences vont au-delà, que ce soit en termes de fonctionnalité, de robustesse, de performance, d’efficacité, etc., il est conseillé de passer à un langage plus complet.
Si vous êtes déjà familier avec C/Perl/Python ou tout autre langage de programmation, acquérir la maîtrise d’un langage de script ne devrait pas être trop difficile.
Écriture du troisième script
Pour continuer, rédigeons notre troisième et dernier script pour cet article. Ce script fonctionne comme un script interactif. Pourquoi ne pas essayer d’exécuter vous-même ce script simple mais interactif et partager votre expérience avec nous ?
#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"Eh bien, ce n’est pas la fin. Nous avons essayé de vous présenter les bases du scripting. Dans nos prochains articles, nous approfondirons le sujet des langages de script – un domaine vaste et en constante évolution – afin d’offrir une compréhension plus complète.
Vos précieuses réflexions dans les commentaires sont très appréciées. S’il vous plaît, aimez et partagez pour nous aider à atteindre un public plus large. D’ici là, détendez-vous, restez connecté et restez à l’écoute.


