Le shell Bash et Bash est le principal composant de gestion des systèmes Linux. Les commandes s’exécutent sur bash afin d’effectuer des tâches ou des travaux. Ces commandes peuvent être stockées dans un fichier appelé script shell. Le script shell est utilisé pour exécuter une ou plusieurs commandes en appelant simplement le fichier de script shell sans écrire de commandes encore et encore. Les scripts shell ont l’extension *.sh pour Bash ou Sh. Dans ce tutoriel, nous allons apprendre à exécuter des fichiers de script shell de différentes manières.
Créer un script Shell ou un fichier de script
Avant de commencer à exécuter un fichier de script shell, nous créons un fichier de script. Créez simplement un fichier texte avec l’extension *.sh. Ensuite, mettez-y des commandes shell. Dans cet exemple, nous créons le script shell nommé systeminfo.sh .
hostnamectlecho "This is a shell script."
Rendre le script Shell exécutable et exécuter
La façon la plus simple d’exécuter ou d’exécuter un script shell est de le rendre exécutable, puis d’appeler. Le fichier shell est juste un fichier avec du texte par défaut. Il peut être rendu exécutable par le shell en utilisant la commande chmod. Dans l’exemple suivant, nous faisons le systeminfo.sh fichier de script shell exécutable pour l’utilisateur actuel.
chmod u+x systeminfo.sh
Nous pouvons vérifier si le fichier de script shell est exécutable avec la commande ls comme ci-dessous.
ls -l systeminfo.sh
La sortie est comme ci-dessous où l’utilisateur a l’autorisation d’exécution qui est représentée par la lettre x.
-rwxrw-r-- 1 ismail ismail 44 Oca 28 04:18 systeminfo.sh
Maintenant, nous pouvons exécuter ou exécuter le fichier de script directement en appelant avec son nom et son chemin. Si le fichier de script se trouve dans le répertoire de travail actuel, il peut être appelé comme ci-dessous.
./systeminfo.sh
Alternativement, si le script shell est un autre répertoire, alors le répertoire de travail actuel, nous pouvons spécifier le chemin complet ou absolu pour l’exécuter. C’est le moyen le plus fiable pour que le fichier de script puisse être exécuté correctement pour chaque situation.
/home/ismail/systeminfo.sh
Exécutez le script Shell Directement avec la commande bash
Chaque commande bash shell est interprétée et exécutée via l’interpréteur bash. L’interpréteur bash est un fichier exécutable situé dans /usr/bin/bash. Nous pouvons exécuter un fichier de script shell le fournissant directement dans le binaire bash. Cette méthode ne nécessite pas de rendre le fichier de script exécutable. Dans l’exemple suivant, nous exécutons le fichier de script shell via un binaire ou une commande bash.
bash ./systeminfo.sh
Alternativement, le chemin complet du fichier de script shell peut être spécifié comme ci-dessous.
bash /home/ismail/systeminfo.sh
Exécutez le script Shell en tant que Root
Par défaut, le script shell est exécuté en tant qu’utilisateur actuel avec les privilèges d’utilisateur actuels. Mais dans certains cas, nous devrons peut-être exécuter le fichier de script shell en tant que root ou avec des privilèges root. Nous pouvons utiliser la commande sudo lors de l’exécution du fichier de script shell.
sudo ./systeminfo.sh
Avec le chemin absolu du fichier de script shell, la commande sudo peut être fusionnée comme ci-dessous.
sudo /home/ismail/systeminfo.sh
Exécuter le script Shell via l’interface graphique (Environnement de bureau)
Les fichiers de script Shell peuvent également être exécutés via l’interface graphique ou l’environnement de bureau. Mais d’abord, il devrait être activé pour l’exécution. Faites un clic droit sur le fichier de script et cliquez sur Propriétés comme ci-dessous.
Dans les fenêtres Propriétés, accédez à l’onglet Autorisations et vérifiez la configuration Exécuter. Cela permet d’exécuter le fichier en tant que programme.
Déboguer le script Shell Lors de l’exécution de
Le fichier de script shell est comme une application qui a exécuté différentes commandes. Le script shell peut être débogué afin de détecter des bugs ou des erreurs. En outre, le fichier de script shell peut être débogué pour obtenir des informations détaillées sur l’exécution du script shell. Le paramètre -x est utilisé avec la commande bash pour déboguer le fichier de script shell.
bash -x ./systeminfo.sh
Enregistrer la sortie du script Shell Dans un fichier
Certains scripts shell créent une sortie qui est imprimée dans la sortie ou le terminal standard. Cette sortie peut être redirigée dans un fichier facilement en utilisant l’opérateur >. Dans l’exemple suivant, nous redirigeons le « systeminfo.sh « sortie du script shell dans le fichier nommé » sortie.txt ».
./systeminfo.sh > output.txt