08.08.2023

Linux Bases de Bash. Guide de script

Introduction

Les scripts Bash constituent un utilitaire précieux pour les tâches modernes et complètes dans les systèmes d'administration tels que Linux et macOS. Sa syntaxe simple, son intégration étroite avec le système d'exploitation et son efficacité dans la gestion des fonctionnalités spécifiques au shell offrent des avantages distincts pour des cas d'utilisation spécifiques.

Avantages des scripts bash

En conclusion, les points forts des scripts Bash résident dans sa simplicité, son intégration étroite avec les systèmes basés sur Unix et sa maîtrise des tâches spécifiques au shell. Il excelle dans l'automatisation des tâches d'administration système, fonctionne de manière transparente avec les utilitaires de ligne de commande et fournit des solutions rapides pour le traitement de texte et la manipulation de fichiers. Son accessibilité et sa capacité à prototyper rapidement des idées en font un excellent choix pour les administrateurs système et les tâches qui nécessitent une approche de script concise et efficace.

Exigences

Démarrez votre moteur

Nous travaillerons dans VPS machine par notre fournisseur Serverspace, que vous pouvez commander sur le site. Et utilise Debian 11 système d'exploitation avec shell bash. Allez tout d'abord dans le panneau de contrôle de Serverspace et choisissez la plate-forme nécessaire pour travailler :

Capture d'écran №1 — Page de contrôle

Vous pouvez voir divers centres de données dans différents pays, choisir selon votre point de vue et vos objectifs, de préférence à proximité de votre emplacement. Ensuite, vous pouvez regarder le système d'exploitation et en choisir un, pour notre exemple, nous avons eu l'air classique.

Capture d'écran №2 — Prix

Après choix des ressources pour votre machine vous pouvez voir le prix et click sur Commander , attendez la fin de la configuration du serveur. Après cela, entrez vos informations d'identification pour vous connecter au système via la commande ci-dessous.

ssh racine@162.64.253.1

Capture d'écran №3 — Connexion

Rappel! Vous devez remplacer votre adresse IP et entrer le mot de passe sur le compte.

Créer le premier script

Félicitations, nous y sommes. Et déjà utilisé l'interpréteur bash et le shell. Le signe # ou si vous vous connectez par utilisateur $ cela signifie que la machine doit déjà lire et traiter la commande entrante dans bash. Dans un deuxième temps, nous installons l'éditeur de texte pour une utilisation plus confortable de notre fichier de script :

apt installer nano

Vous pouvez également utiliser plus facilement et plus de complexité des éditeurs de texte comme : gedit, vim, Emacs, etc. Choisissez ce que vous voulez pour votre travail confortable. Créons notre premier script. Pour cela, vous devez trouver le chemin vers bash dans votre système, par défaut c'est / bin / bash, mais vous pouvez le trouver par commande :

cd / && qui bash

L'étape suivante créera un fichier de script avec la commande ci-dessous :

nano /etc/script.sh

Et entrez ces lignes :

#! / Bin / bash
echo "Mon premier script en bash !"

Capture d'écran №4 — Premier script

Dans la première ligne, nous indiquons l'interpréteur pour le script, écrivez votre chemin comme nous l'avons connu ci-dessus, mais dans 99% des cas, nous avons le chemin par défaut. Sur la ligne ci-dessous, nous pouvons voir la commande echo qui affichait à l'écran notre texte. Corriger le mod en exécutable :

cd etc && chmod +x script.sh

Vous pouvez maintenant démarrer votre script par le chemin du fichier ou en utilisant la commande ci-dessous :

sh script.sh

Capture d'écran №5 — Première exécution

Nous y voilà! Nous avons d'abord écrit un script, mais examinons la complexité et les détails utiles du processus de script.

Arguments

Il y a des données d'entrée qui doivent être traitées par le script, des données qui sont saisies par l'utilisateur ou transférées par un autre utilitaire, service ou script. Pour ça en programming language il y a définition — arguments ou données nécessaires pour traiter par algorithme. Regardons l'exemple :

Pour cela, créez un nouveau fichier et ouvrez-le en une seule commande :

nano /etc/price.sh && chmod +x /etc/price.sh

Écrivez le script ci-dessous :

#! / Bin / bash
echo "Mon prix suggéré est de 1 $"

Explicationnation: Dans ce script, nous utilisons un argument et l'indiquons par le signe $K, où K est un nombre d'arguments entrants. Le $0 est toujours le nom du script en cours d'exécution, $1, $2, etc. C'est juste une liste de données saisies. Exécutons-le !

sh /etc/price.sh 4333$

Capture d'écran №6 — Script de prix

Vous remarquerez peut-être qu'une partie vide du raw affiché s'est produite car nous ne fournissons pas d'erreur et avons un bogue ! Faisons un mécanisme de vérification :

nano /etc/price.sh

Et entrez ce code :

#! / Bin / bash
si [ "$1" -z] ; alors
echo "Votre saisie de données ne respecte pas la règle !"
sortie 1
fi
echo "Mon prix suggéré est de 1 $"

Explicationnation: nous ajoutons une fonction de vérification des données saisies par la construction if-then-else. Si c'est la syntaxe de la commande de condition de démarrage, que nous écrivons et indiquons le filtre pour la variable. Dans ce cas on utilise —z option, ce qui signifie que ce champ est vide. Ensuite, nous avons écrit puis commande qui indique une action si la déclaration ci-dessus était vraie. Dans notre cas, nous avons affiché un message d'erreur et utilisé sortie 1 - commande pour le programme terminéram et indiquer une erreur. Commençons et vérifions :

sh /etc/price.sh 44$ && sh /etc/price.sh

Capture d'écran №7 — Corriger le script

Bien! Mais si nous devons utiliser des données de préparation dans le script ? A cet effet, nous avons variable!

Variables

Ils représentent des cellules de stockage, qui enregistrent des informations et permettent de les utiliser en les mentionnant dans un script. Déclaration de variable : les variables dans Bash sont déclarées sans utiliser de mots-clés, en attribuant simplement une valeur à une variable. Par exemple:

nom="Jean" age=30

Les variables dans Bash prennent en charge une variété de types de données grâce au typage dynamique. Les noms de variables doivent commencer par une lettre ou le symbole "_", les lettres, les chiffres sont autorisés. Facilitez la compréhension du code en utilisant des noms de variables significatifs et utilisez le symbole dollar "$" pour accéder à leurs valeurs, par exemple :

echo "Bonjour, $nom !"

La valeur de la variable peut être réaffectée, modifiée à tout moment de l'exécution du script :

count = 5
echo "Valeur actuelle de count : $count"
count = 10
echo "Nouvelle valeur de count : $count"

Lecture d'une valeur d'un utilisateur : à l'aide de la commande read, vous pouvez lire une valeur d'un utilisateur et l'affecter à une variable :

lire -p "Entrez votre prix : " prix

echo "Awwww, $prix ?"

Suppression d'une variable : pour supprimer une variable, utilisez la commande unset :

nom non défini

Exporter une variable : si une variable doit être mise à la disposition des sous-processus, vous pouvez utiliser la commande d'exportation :

exporter MA_VARIABLE="prix"

Les variables dans Bash jouent un rôle important lors de l'écriture de scripts et de l'automatisation de tâches, vous permettant de stocker et de traiter des données tout au long de l'exécution d'un programme.ram ou commandes.

Structures de contrôle

Dans tout script, il existe un chemin logique par lequel les informations passent, filtrent, changent de valeur et donnent un résultat. Tout cela est possible grâce aux structures de contrôle, qui ajoutent des branches et des capacités de choix. Il y a des cycles, des constructions conditionnelles, etc. Un exemple simple que nous expliquons ci-dessus à propos de la construction if-then-else. Celle couramment utilisée pour une structure simple ou à deux ou trois branches et utilisée :

si [condition] ; alors
déclaration-1
elif [ condition-2 ]; alors
déclaration-2
fi

Dans cet exemple, nous voyons 3 branches, mais que devons-nous faire si nous avons une liste de conditions et un parameter? Pour cela, nous pouvons utiliser la construction switch-case. Tous les sens incluent dans notre parameter comparer à d'autres dans la liste, donc exécuter l'action conformément à la réponse. Par exemple:

read -p "Quelle est la machine que vous recherchez ?" car
cas "$car" dans
"Volkswagen")
prix="3000$"
;;
"BMW" )
prix="4000$"
;;
*)
prix="nous ne savons pas"
Esac
echo "Vous demandez le coût de la voiture : $price"

Entrez cela dans le fichier comme nous le faisons avant! Et exécutez-le :

./etc/price.sh

Capture d'écran №8 — Exemple dans l'éditeur de texte

Après le démarrage, vérifions :

Capture d'écran №9 — Exemple de démarrage

D'accord, ce travail ! Il y a le problème suivant, certaines commandes que nous devons exécuter un certain nombre de fois ou jusqu'à ce que les conditions soient remplies. Pour cela nous utilisons des cycles !

Cycles

Nous pouvons utiliser cycle pour lequel nous permet d'itérer certaines commandes pour chaque objet en séquence, par exemple :

voitures=("Toyota" "Honda" "Ford" "BMW" "Tesla")
pour ((i=0; i<${#cars[@]}; i++))
do
echo "Voiture $((i+1)): ${voitures[i]}"
fait

Ce code nous permet d'itérer indiquer la valeur un certain nombre de fois. in = 0 la syntaxe indique la valeur de départ, je<${#voitures[@]} c'est la condition, i++ c'est la commande si la condition est conforme à la valeur logique oui. Ensuite, faites la commande à faire après la condition d'achèvement dans notre exemple, c'est echo et de fait signifie cycle terminé. Testons :

Capture d'écran №10 — Exemple de démarrage

Le cycle while dans l'exemple :

voitures=("Toyota" "Honda" "Ford" "BMW" "Tesla")
count = 1
tandis que [ $count -le ${#cars[@]} ]
do
echo "Voiture $count : ${cars[$((count-1))]}"
((compter++))
fait

Conclusion

Les scripts Bash se distinguent par leur convivialité nature, intégration fluide dans les systèmes basés sur Unix et aptitude à gérer les tâches spécifiques au shell. Il brille par l'automatisation des tâches d'administration système, l'interaction transparente avec les utilitaires de ligne de commande et la fourniture rapide de solutions pour le traitement de texte et la manipulation de fichiers. Son accessibilité et sa flexibilité en font l'option préférée des administrateurs système qui s'attaquent à des tâches nécessitant une approche de script concise et efficace. La maîtrise des scripts Bash permet aux administrateurs d'augmenter la productivité, de rationaliser la gestion des tâches et de déverrouiller toutes les fonctionnalités de Linux et les systèmes macOS, culminatdans un environnement informatique plus efficace et plus productif.