10 conseils utiles pour écrire des scripts de bash efficaces dans Linux

10 conseils utiles pour écrire des scripts de bash efficaces dans Linux

Le script de coquille est la forme la plus simple de programmation que vous pouvez apprendre / faire à Linux. Plus encore, c'est une compétence requise pour l'administration du système pour l'automatisation des tâches, en développant de nouveaux utilitaires / outils simples juste pour mentionner mais quelques-uns.

Dans cet article, nous partagerons 10 conseils utiles et pratiques pour rédiger des scripts de bash efficaces et fiables et ils incluent:

1. Utilisez toujours des commentaires dans les scripts

Il s'agit d'une pratique recommandée qui est non seulement appliquée aux scripts de coquille, mais aussi à tous les autres types de programmation. L'écriture de commentaires dans un script vous aide ou à un autre à traverser votre script comprendre ce que font les différentes parties du script.

Pour commencer, les commentaires sont définis en utilisant le # signe.

#Tecmint est le meilleur site pour toutes sortes d'articles Linux 

2. Faire une sortie de script en cas d'échec

Parfois, Bash peut continuer à exécuter un script même lorsqu'une certaine commande échoue, affectant ainsi le reste du script (peut éventuellement entraîner des erreurs logiques). Utilisez la ligne ci-dessous pour quitter un script lorsqu'une commande échoue:

#let Script exit si une commande échoue set -o errexit ou set -e 

3. Faire une sortie de script lorsque Bash utilise une variable non déclaré

Bash peut également essayer d'utiliser un script non déclaré qui pourrait provoquer une erreur logique. Par conséquent, utilisez la ligne suivante pour demander à Bash de quitter un script lorsqu'il tente d'utiliser une variable non déclaré:

#let Exit de script Si une variable und est utilisée set -o nom ou set -u 

4. Utilisez des citations doubles pour référencer les variables

L'utilisation de Double Quotes lors du référencement (en utilisant une valeur d'une variable) aide à empêcher la division des mots (concernant l'espace blanc) et le globbing inutile (reconnaître et développer les caractères génériques).

Consultez l'exemple ci-dessous:

#!/ bin / bash #let Script exit si une commande échoue set -o errexit #let script exit si une variable unsed est utilisée set -o nom echo "noms sans doubles citations" echo noms = "tecmint fossmint linusay" pour le nom dans $ name ; faire écho "$ name" fait echo echo "noms avec doubles devis" echo pour le nom dans "$ noms"; faire écho "$ name" fait sorti 0 

Enregistrez le fichier et sortez, puis exécutez-le comme suit:

$ ./des noms.shot 
Utilisez des citations doubles dans les scripts

5. Utiliser des fonctions dans les scripts

Sauf pour les très petits scripts (avec quelques lignes de code), n'oubliez pas d'utiliser des fonctions pour modulariser votre code et rendre les scripts plus lisibles et réutilisables.

La syntaxe pour les fonctions d'écriture est la suivante:

fonction check_root () Command1; Command2;  Ou check_root () Command1; Command2;  

Pour le code de ligne unique, utilisez des caractères de terminaison après chaque commande comme celle-ci:

check_root () Command1; Command2;  

6. Use = au lieu de == pour les comparaisons de chaînes

Noter que == est un synonyme de =, Par conséquent, n'utilisez qu'un seul = Pour les comparaisons de chaînes, par exemple:

Value1 = ”Tecmint.com ”value2 =” fossmint.com »si [" $ valeur1 "=" $ value2 "] 

7. Utilisez $ (Command) au lieu de la «commande» héritée pour la substitution

La substitution de commande remplace une commande par sa sortie. Utiliser $ (commande) au lieu de backquotes 'commande' pour la substitution de commandement.

Ceci est recommandé même par l'outil ShellCheck (montre des avertissements et des suggestions pour les scripts de coquille). Par exemple:

user = 'echo "$ uid"' user = $ (echo "$ uid") 

8. Utilisez la lecture seule pour déclarer des variables statiques

Une variable statique ne change pas; Sa valeur ne peut pas être modifiée une fois qu'elle est définie dans un script:

readonly passwd_file = ”/ etc / passwd” readonly group_file = ”/ etc / groupe” 

9. Utilisez des noms majuscules pour les variables d'environnement et les minuscules pour les variables personnalisées

Toutes les variables d'environnement bash sont nommées avec des lettres majuscules, utilisez donc des lettres minuscules pour nommer vos variables personnalisées pour éviter les conflits de nom de variable:

#Define Variables personnalisées à l'aide de minuscules et utilisez des majuscules pour les variables env.pl "perl" $ nikto_file "-h" 1 $ " 

dix. Effectuez toujours un débogage pour les longs scripts

Si vous écrivez des scripts bash avec des milliers de lignes de code, trouver des erreurs peut devenir un cauchemar. Pour corriger facilement les choses avant d'exécuter un script, effectuez un débogage. Maîtrisez cette astuce en lisant les guides fournis ci-dessous:

  1. Comment activer le mode de débogage du script shell dans Linux
  2. Comment effectuer le mode de débogage de vérification de la syntaxe dans les scripts shell
  3. Comment tracer l'exécution des commandes dans le script shell avec le traçage de la coquille

C'est tout! Avez-vous d'autres meilleures pratiques de script de bash à partager? Si oui, utilisez le formulaire de commentaire ci-dessous pour le faire.