Écrire efficace pour les boucles dans des conseils et astuces bash

Écrire efficace pour les boucles dans des conseils et astuces bash

Bash est un langage de script shell populaire qui est couramment utilisé dans les systèmes d'exploitation Linux et Unix. L'une des constructions les plus couramment utilisées dans Bash est la boucle FOR, qui est utilisée pour parcourir un ensemble d'éléments et effectuer une action particulière sur chaque élément. Cependant, il est important d'écrire efficacement pour les boucles afin d'optimiser les performances du script.

Il est également important de noter que Bash n'est qu'une des nombreuses langues de script disponibles, et ses capacités peuvent être limitées dans certains scénarios. Si vous constatez que vos scripts bash deviennent trop complexes ou difficiles à optimiser, vous voudrez peut-être envisager d'utiliser un langage de script plus puissant, comme Python ou Perl.

Dans ce tutoriel, nous explorerons quelques conseils et astuces pour écrire efficacement pour les boucles en bash.

Astuce n ° 1: Utilisez la bonne syntaxe

La syntaxe pour la boucle de base pour bash est la suivante:

pour variable dans [list] do [Command (s)] fait
1234pour variable dans [list] do [Command (s)] fait

La [liste] peut être un ensemble d'éléments séparés par des espaces, ou il peut être une plage de nombres spécifiés à l'aide de la syntaxe start… end. Il est important d'utiliser la syntaxe correcte pour votre cas d'utilisation spécifique.

Par exemple, si vous itérez sur un grand ensemble d'éléments, il est préférable d'utiliser la syntaxe de la plage au lieu d'énumérer chaque élément individuellement. Cela peut aider à améliorer les performances en réduisant le nombre d'itérations nécessaires pour terminer la boucle.

Astuce n ° 2: minimiser les commandes externes

Chaque fois que vous exécutez une commande dans une boucle pour une boucle, elle entraîne une pénalité de performance en raison de la surcharge du lancement d'un nouveau processus. Par conséquent, il est important de minimiser le nombre de commandes externes que vous utilisez dans votre boucle pour.

Par exemple, au lieu d'utiliser une commande externe pour compter le nombre de fichiers dans un répertoire, vous pouvez utiliser une commande bash intégrée pour accomplir la même chose:

file_count = 0 pour le fichier dans / path / to / répertoire / * do ((file_count ++)) fait
12345file_count = 0for File dans / path / to / répertoire / * do ((file_count ++)) fait

Cela élimine la nécessité d'une commande externe, ce qui peut aider à améliorer les performances.

Astuce n ° 3: utilisez des tableaux

L'utilisation d'un tableau pour stocker les articles que vous souhaitez parcourir peut aider à améliorer l'efficacité de votre boucle pour. En effet.

Par exemple, au lieu d'utiliser une liste de valeurs séparées par l'espace comme celle-ci:

pour la valeur dans la valeur1 Valeur2 Valeur3 Valeur4 Do [Commande (S)]
1234pour la valeur dans Value1 Value2 Value3 Value4Do [Commande (S)]

Vous pouvez utiliser un tableau comme celui-ci:

valeurs = ("value1" "value2" "value3" "value4") pour la valeur dans "valeurs [@]" do [Command (s)] fait
12345valeurs = ("value1" "value2" "value3" "value4") pour la valeur dans "valeurs [@]" do [Command (s)] fait

Cela peut aider à améliorer les performances en réduisant les frais généraux de l'analyse de la chaîne en valeurs individuelles.

Astuce n ° 4: Utilisez l'expansion des paramètres du shell

L'utilisation de l'expansion des paramètres de shell peut vous aider à simplifier votre boucle pour la boucle et à améliorer les performances en réduisant le nombre de commandes dont vous avez besoin pour exécuter.

Par exemple, au lieu d'utiliser une commande externe pour trouver la longueur d'un tableau, vous pouvez utiliser l'expansion des paramètres du shell comme ceci:

valeurs = ("value1" "value2" "value3" "value4") pour ((i = 0; i<$#values[@]; i++)) do [command(s) "values[i]"] done
12345valeurs = ("value1" "value2" "value3" "value4") pour ((i = 0; i<$#values[@]; i++))do [command(s) "values[i]"]done

Cela élimine la nécessité d'une commande externe, ce qui peut aider à améliorer les performances.

Astuce n ° 5: Utilisez les commandes intégrées de Bash

Bash a un certain nombre de commandes intégrées qui peuvent aider à améliorer l'efficacité de vos boucles pour les boucles. Par exemple, vous pouvez utiliser la commande printf pour imprimer une sortie formatée dans votre boucle, ce qui peut être plus efficace que l'utilisation d'une commande externe comme Echo.

pour i dans 1… 10 do Printf "Numéro% d \ n" "$ i" fait
1234pour i dans 1… 10 do Printf "Numéro% d \ n" "$ i" fait

Cela peut aider à améliorer les performances en réduisant les frais généraux du lancement de commandes externes.

Conclusion

En conclusion, l'écriture efficace pour les boucles dans Bash peut considérablement améliorer les performances de vos scripts et réduire leur temps d'exécution. En mettant en œuvre les conseils et astuces discutés dans cet article, tels que la minimisation de l'utilisation des commandes externes, la réduction du nombre d'itérations et l'utilisation de techniques de parallélisation, vous pouvez optimiser vos scripts bash pour traiter les données plus rapidement et efficacement.

Quelle que soit la langue que vous choisissez, la clé pour écrire des scripts efficaces est d'analyser et d'optimiser constamment votre code, de tester différentes approches et de garder toujours les performances à l'esprit. Avec ces principes à l'esprit, vous pouvez créer des scripts robustes et efficaces qui peuvent gérer même les tâches de traitement des données les plus exigeantes.