Guide du débutant pour la programmation Shell sous Linux

Avez-vous déjà voulu apprendre le « scripting » sous Linux ? Rendez-le plus facile que vous ne le pensez. Parfois, les scripts (souvent appelés scripts shell ou bash) sont de vrais programmes contenant du code complexe. D'autres fois, il s'agit simplement d'une longue liste de tâches que les utilisateurs ont rassemblées pour accélérer et faciliter les choses sur Linux. Voici le meilleur guide du débutant pour la programmation shell sous Linux

Guide du débutant sur la programmation Shell sous Linux - %categories

Dans cet article, vous apprendrez comment cela fonctionne script shell Basique sous Linux. Tout d'abord, vous découvrirez les conditions préalables et les choses à faire et à ne pas faire d'un script shell, puis comment prendre l'entrée de l'utilisateur via le script et l'afficher sur l'écran du terminal. Vous apprendrez à quel point il est facile de démarrer (et les meilleures pratiques) avec les scripts sous Linux.

Pourquoi faites-vous un script ?

Créer des scripts sous Linux est une compétence très utile. Vous pouvez automatiser certaines tâches répétitives avec des scripts bash. Si vous le faites bien, cela peut vous rendre très productif et vous permettre d'atteindre votre plus en moins de temps.

Par exemple : vous venez peut-être de créer Arch Linux à partir de zéro. Le système d'exploitation est installé, ainsi que tous les packages essentiels, et peut démarrer sur l'appareil au démarrage du système d'exploitation. Arch Linux prend du temps à s'installer, donc le processus n'est pas terminé.

À ce stade, l'utilisateur peut écrire un script Bash et tout faire en même temps. Rien de tout cela n'est de la programmation - ou avancé d'ailleurs. Cependant, du fait que l'utilisateur comprend suffisamment le fonctionnement d'Arch Linux, il pourra automatiser presque tout le processus de post-configuration (environnement de bureau, pilotes, configuration de l'utilisateur, etc.).

La seule limitation pour votre programme bash est votre connaissance de Linux et de Bash ! Les créer est plus facile que vous ne le pensez.

Début

Lors de l'écriture du code, les choses doivent être définies et les ressources chargées. Certaines choses doivent également être spécifiées lors de la programmation avec le shell. En programmation Bash, cela s'appelle un "shebang". Les shebangs utilisés dans les scripts indiquent au script sous quel compilateur il doit être exécuté. Il peut s'agir de Bash ou de tout autre script disponible sur votre système. Notez que différentes langues ont leurs propres langues.

Lisez aussi:  Comment installer le paquet Deb dans Arch Linux

Par exemple : lorsque vous écrivez un texte bLangage Python , le mot shebang sera

#!/usr/bin/python

Bash a de nombreux types de shebang différents qui peuvent être utilisés, mais la plupart des utilisateurs n'ont probablement vu que

 #!/bin/bash

En règle générale, utilisez #! /bin/bash lors de l'écriture d'un script simple et ne prévoyez pas de le supprimer de Linux. Toutes les distributions Linux modernes sont sur la même version de bash, et le shell bash est généralement situé au même endroit.

Un autre shebang qui s'avère utile est

 #!/usr/bin/env bash

Il est conçu pour la portabilité et doit être utilisé si le script est conçu pour s'exécuter sur d'autres systèmes d'exploitation de type Unix (BSD, macOS, etc.).

Meilleures pratiques

L'écriture de scripts dans Bash peut être un processus compliqué - si l'auteur le fait. Le plus souvent, les scripts ne sont qu'un ensemble d'opérations différentes. Transférez un fichier, téléchargez quelque chose, installez un logiciel, etc.

  • Gardez à l'esprit que Bash est un langage conçu pour manipuler des fichiers et des processus sur un système. Si Bash répond à vos besoins, c'est très bien. Cependant, comprenez que pour la programmation avancée, Bash n'est pas vraiment le bon choix, et vous feriez mieux de passer à quelque chose comme Python.
  • Rendez vos scripts compatibles "SH" et au format ".sh" si le plan est d'utiliser les scripts sur plus que Linux. Bien que d'autres systèmes d'exploitation de type UNIX puissent avoir des shells "de type bash", certains n'ont pas du tout bash, et il est bon d'être préparé à cela.
  • Découvrez le shell Bash et son fonctionnement. Cela vous aidera à mieux rédiger vos textes.
  • Utilisez toujours Shebang, et surtout, utilisez la bonne chose. Cela peut faire la différence entre un bon script et un mauvais qui ne fonctionne pas correctement.
  • Commentez toujours chaque processus. Dans six mois, vous reviendrez peut-être à votre texte et vous vous demanderez ce que tout cela signifie, il est donc essentiel que le texte soit bien documenté et facile à comprendre (à la fois pour vous et pour toute autre personne susceptible de le voir).
    Rendez votre code lisible. Même si votre script n'est pas compliqué, il doit quand même avoir du sens, et le réaliser est plus facile que vous ne le pensez.
  • Testez le script pour les erreurs avant de le donner à d'autres. Ne laissez pas les autres tester les erreurs pour vous. Idéalement, les scripts doivent être exécutés avant d'être envoyés aux utilisateurs.
Lisez aussi:  Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP

Créer un scénario

Pour commencer à écrire des scripts, tout ce dont vous avez besoin est un éditeur de texte. N'importe quel simple éditeur de texte fera l'affaire. Il n'a pas besoin d'être compliqué ou complet. Dans cet exemple, nous créons un texte de bienvenue simple à l'aide de l'éditeur Gedit.

Créer et ouvrir le script dans Gedit

Créer un texte avec un nom "salutations.sh"  Et ouvrez-le dans l'éditeur Gedit. Cette première partie du script est le shebang, comme mentionné précédemment. Cela permet au script d'indiquer à l'interpréteur ce qu'il doit utiliser pour comprendre le code.

#! / Bin / bash

Ensuite, écrivons un commentaire. Cela permettra à toute personne utilisant le script de comprendre ce que le code est censé faire. Des commentaires peuvent être ajoutés à un script en plaçant le symbole #. Rien ne sera capturé après cela par le texte.

# Mon premier script Linux

Imprimer un message d'accueil simple

Pour imprimer n'importe quelle sortie, nous utilisons la commande echo dans bash. Si vous voulez imprimer "Hello world", cela devrait ressembler à ceci :

echo "Bonjour le monde"

Rendre le script exécutable

Pour rendre le script exécutable, nous utilisons la commande chmod.

chmod +x salutations.sh

+x signifie ajouter l'autorisation d'exécution au fichier de script. Pour exécuter le script, appelez le nom du script avec son chemin relatif.

./salutations.sh

Prendre l'entrée de l'utilisateur

La saisie des entrées de l'utilisateur est la fonctionnalité principale d'un script bash, et vous devez avoir le concept de variables dans bash. Les variables sont comme un stockage où vous pouvez stocker des valeurs. Dans ce cas, nous stockons l'entrée de l'utilisateur dans une variable bash. Pour apporter une contribution, nous posons une question à l'utilisateur.

echo -e "Quel est ton nom : "

Lorsqu'un utilisateur entre son nom, nous pouvons lire l'entrée à l'aide d'une variable bash appelée inputname.

echo -e "Quel est votre nom : " read inputname

Vous pouvez utiliser n'importe quel nom de variable, mais assurez-vous d'ajouter la commande read juste après la commande echo.

Imprimer le message de bienvenue

Le nom d'utilisateur stocké est la variable de nom d'entrée. Pour saluer l'utilisateur, nous utilisons à nouveau la commande echo.

echo "Bonjour $inputname"

Nous utilisons le signe $ pour représenter une variable à l'intérieur d'une chaîne. Enregistrez le script et exécutez-le avec la commande ./greetings.sh.

Lisez aussi:  Comment créer un navigateur Web personnalisé avec Nyxt

Guide du débutant sur la programmation Shell sous Linux - %categories

Vous pouvez maintenant créer vos propres salutations et les partager avec vos amis.

extensions de fichiers

Il n'y a aucune différence dans les extensions de fichier pour les scripts. Nommer un fichier avec l'extension de fichier ".sh" n'a pas beaucoup d'effet sur la façon dont le programme s'exécute. Un script Bash sans extension de fichier - les fichiers texte vides et tout le reste continueront à s'exécuter tant que les commandes et les arguments corrects sont présents.

Bien que le shell Bash ignore les extensions de fichiers, cela ne signifie pas que l'auteur du script doit le faire. Certains environnements de bureau qui vous permettent de définir des scripts shell à exécuter au démarrage s'appuient sur le script pour avoir l'extension de fichier ".sh" correcte. Cela aide également à des fins d'organisation.

En fin de compte, la plupart des scripts shell sont enregistrés en tant que fichiers ".sh" pour la portabilité. "sh" n'a rien à voir avec Bash lui-même, et le script peut être exécuté avec n'importe quel shell compatible.

Alternativement, les scripts peuvent être enregistrés en tant que .bash, .ksh (Unix korn shell), etc. Ces extensions de fichiers sont inférieures et limitent vraiment l'utilité du script. En effet, il n'est conçu que pour les shells qui utilisent ces extensions.

Questions en double

Q 1. Les scripts Bash sont-ils faciles à apprendre ?
réponse. Si vous êtes familier avec les langages de programmation, la programmation bash vous semblera assez simple. Il partage les mêmes concepts de programmation, tels que les variables, les boucles, etc., mais si vous ne connaissez rien à la programmation, je vous recommanderais de commencer par Python. Python est très facile à apprendre et vous pouvez également créer des scripts avec.

Q2. Est-ce que Bash vaut la peine d'être appris ?
réponse. Si vous conduisez Linux quotidiennement ou utilisez Linux dans votre environnement de travail, vous devez apprendre les scripts bash. Vous pouvez également apprendre bash pour automatiser votre tâche quotidienne. En dehors de cela, je ne vois aucune utilité pour Bash dans l'industrie du développement de logiciels.

Q3. Comment puis-je apprendre les scripts Bash sous Windows ?
réponse. Il n'existe aucun moyen natif d'apprendre bash dans Windows, mais vous pouvez utiliser le sous-système Windows pour Linux (WSL) pour exécuter Distribution Linux à l'intérieur de votre machine Windows et utilisez-le pour exécuter des commandes bash.

Vous pourriez l'aimer aussi