GNU/Linux >> Tutoriels Linux >  >> Linux

Shell Scripting Partie I :Premiers pas avec les scripts bash

Bonjour. Ceci est la première partie d'une série de tutoriels Linux. En écrivant ce tutoriel, je suppose que vous êtes un débutant absolu dans la création de scripts Linux et que vous êtes très désireux d'apprendre. Au cours de la série, le niveau augmentera, donc je suis sûr qu'il y aura quelque chose de nouveau, même pour les utilisateurs plus avancés. Alors commençons.

Introduction

La plupart de nos systèmes d'exploitation, y compris Linux, peuvent prendre en charge différentes interfaces utilisateur (UI). L'interface utilisateur graphique (GUI) est une interface de bureau conviviale qui permet aux utilisateurs de cliquer sur des icônes pour exécuter une application. L'autre type d'interface est l'interface de ligne de commande (CLI) qui est purement textuelle et accepte les commandes de l'utilisateur. Un shell, l'interpréteur de commandes lit la commande via la CLI et appelle le programme. De nos jours, la plupart des systèmes d'exploitation fournissent les deux interfaces, y compris les distributions Linux.

Lors de l'utilisation du shell, l'utilisateur doit saisir une série de commandes sur le terminal. Pas de problème si l'utilisateur n'a à faire la tâche qu'une seule fois. Cependant, si la tâche est complexe et doit être répétée plusieurs fois, cela peut devenir un peu fastidieux pour l'utilisateur. Heureusement, il existe un moyen d'automatiser les tâches du shell. Cela peut être fait en écrivant et en exécutant des scripts shell. Un script shell est un type de fichier composé d'une série et d'une séquence de commandes prises en charge par le shell Linux.

Pourquoi créer des scripts shell ?

Le script shell est un outil très utile pour automatiser les tâches dans les systèmes d'exploitation Linux. Il peut également être utilisé pour combiner des utilitaires et créer de nouvelles commandes. Vous pouvez combiner des séquences longues et répétitives de commandes en une seule commande simple. Tous les scripts peuvent être exécutés sans qu'il soit nécessaire de les compiler, de sorte que l'utilisateur aura un moyen de prototyper des commandes de manière transparente.

Je suis nouveau dans l'environnement Linux, puis-je encore apprendre à créer scripts shell ?

Bien sûr! La création de scripts shell ne nécessite pas de connaissances complexes de Linux. Une connaissance de base des commandes courantes de la CLI Linux et d'un éditeur de texte suffira. Si vous êtes un débutant absolu et que vous n'avez aucune connaissance de base de la ligne de commande Linux, ce didacticiel pourrait vous être utile.

Création de mon premier script shell

Le bash (Bourne-Again Shell) est le shell par défaut dans la plupart des distributions Linux et OS X. Il s'agit d'un projet GNU open source destiné à remplacer le sh (Bourne Shell), le shell Unix d'origine. Il a été développé par Brian Fox et est sorti en 1989.

Vous devez toujours vous rappeler que chaque script Linux utilisant bash commencera par la ligne suivante :

#!/bin/bash

Chaque script Linux commence par une ligne shebang (#!). La ligne bang spécifie le chemin complet /bin/bash de l'interpréteur de commandes qui sera utilisé pour exécuter le script.

Bonjour le monde !

Chaque langage de programmation commence par Hello World! affichage. Nous ne mettrons pas fin à cette tradition et créerons notre propre version de cette sortie factice dans les scripts Linux.

Pour commencer à créer notre script, suivez les étapes ci-dessous :

Étape 1 : Ouvrez un éditeur de texte. Je vais utiliser gedit pour cet exemple. Pour ouvrir gedit à l'aide du terminal, appuyez sur CTRL + ALT + T sur votre clavier et tapez gedit. Maintenant, nous pouvons commencer à écrire notre script.

Étape 2 : Tapez la commande suivante dans l'éditeur de texte :

#!/bin/bash 
echo "Hello World"

Étape 3 : Maintenant, enregistrez le document avec un nom de fichier hello.sh. Notez que chaque script aura une extension de fichier .sh.

Étape 4 : Comme pour des raisons de sécurité imposées par les distributions Linux, les fichiers et les scripts ne sont pas exécutables par défaut. Cependant, nous pouvons changer cela pour notre script en utilisant la commande chmod dans Linux CLI. Fermez l'application gedit et ouvrez un terminal. Tapez maintenant la commande suivante :

chmod +x hello.sh

La ligne ci-dessus définit l'autorisation exécutable sur le fichier hello.sh. Cette procédure doit être effectuée une seule fois avant d'exécuter le script pour la première fois.

Étape 5 : Pour exécuter le script, tapez la commande suivante sur le terminal :

./hello.sh

Prenons un autre exemple. Cette fois, nous allons intégrer l'affichage de certaines informations système en utilisant les commandes whoami et date à notre script hello.

Ouvrez le hello.sh dans notre éditeur de texte et nous modifierons notre script en tapant :

#!/bin/bash
echo "Hello $(whoami) !"
echo "The date today is $(date)"

Enregistrez les modifications que nous avons apportées au script et exécutez le script (étape 5 dans l'exemple précédent) en tapant :

./hello.sh

La sortie du script sera :

Dans l'exemple précédent, les commandes whoami et date ont été utilisées dans la commande echo. Cela signifie seulement que tous les utilitaires et commandes disponibles dans la ligne de commande peuvent également être utilisés dans les scripts shell.

Générer une sortie à l'aide de printf

Jusqu'à présent, nous avons utilisé echo pour imprimer des chaînes et des données à partir de commandes dans notre exemple précédent. Echo est utilisé pour afficher une ligne de texte. Une autre commande qui peut être utilisée pour afficher des données est la commande printf. Le printf contrôle et imprime des données comme la fonction printf en C.

Vous trouverez ci-dessous le résumé des contrôles prinf courants :

Contrôle Utilisation
\" Avis double
\\ Barre oblique inverse
\b Retour arrière
\c Ne produire aucune autre sortie
\f Échapper
\n Nouvelle ligne
\r Retour chariot
\t Onglet horizontal
\v Onglet vertical

Exemple 3 :Nous allons ouvrir le précédent hello.sh et changer tous les echos en printf et exécuter à nouveau le script. Remarquez les changements qui se produisent dans notre sortie.

#!/bin/bash
printf "Hello $(whoami) !"
printf "The date today is $(date)"

Toutes les lignes sont attachées les unes aux autres car nous n'avons utilisé aucun contrôle dans la commande printf. Par conséquent, la commande printf sous Linux a les mêmes propriétés que la fonction C printf.

Pour formater la sortie de notre script, nous utiliserons deux des contrôles du tableau récapitulatif ci-dessus. Pour fonctionner, les contrôles doivent être indiqués par un \ à l'intérieur des guillemets de la commande printf. Par exemple, nous modifierons le contenu précédent de hello.sh en :

#!/bin/bash
printf "Hello \t $(whoami) !\n"
printf "The date today is $(date)\n"

Le script affiche ce qui suit :

Conclusion

Dans ce didacticiel, vous avez appris les bases des scripts shell et avez pu créer et exécuter des scripts shell. Au cours de la deuxième partie du didacticiel, je présenterai comment déclarer des variables, accepter des entrées et effectuer des opérations arithmétiques à l'aide de commandes shell.


Linux
  1. Premiers pas avec les pare-feux Linux

  2. Premiers pas avec Zsh

  3. Premiers pas avec PostgreSQL sous Linux

  4. Comment analyser Json avec des scripts Shell sous Linux ?

  5. Créer des modèles avec Linux dans un script Shell ?

Premiers pas avec le système d'exploitation Linux

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec Flutter sur Linux Desktop

Qu'est-ce que Shebang dans Linux Shell Scripting ?

Tutoriel d'introduction aux scripts Bash avec 5 exemples pratiques