Commande Bash sh : Apprenez la différence entre Bash et Shell
La commande bash sh est un élément fondamental dans le monde de Linux. De nombreux nouveaux utilisateurs et même certains utilisateurs expérimentés se retrouvent souvent confus quant à la différence entre bash et sh. Bien qu’ils soient tous deux des interpréteurs de commandes utilisés pour exécuter des commandes sous Linux, ils ont chacun leurs caractéristiques et cas d’utilisation uniques. Dans ce guide, nous allons explorer les subtilités de la commande bash sh, comparer bash et shell, et nous plonger dans des exemples qui illustrent les différences et les cas d’utilisation spécifiques de chacun.
La commande sh est un outil important pour l’exécution de scripts shell de base, souvent utilisés dans les systèmes plus anciens ou pour la portabilité. À l’inverse, bash (Bourne Again Shell) offre une expérience plus riche en fonctionnalités et plus conviviale. Comprendre la différence entre bash et sh et savoir quand les utiliser peut améliorer la productivité et l’efficacité des scripts.
Dans ce tutoriel, vous allez apprendre :
- Les bases de la commande bash sh
- Les différences entre bash et shell
- Exemples d’utilisation de la commande sh sous Linux
- Comment exécuter des commandes sh dans des scripts bash
Comprendre la commande Bash sh
Sous Linux, la commande sh est utilisée pour exécuter des commandes dans un environnement shell de base. De nombreux utilisateurs rencontrent souvent des scripts qui commencent par # !/bin/sh
ou # !/bin/bash
. Ces lignes indiquent quel shell doit être utilisé pour interpréter le script. Alors que sh et bash sont tous deux utilisés pour exécuter des commandes shell, bash offre des fonctionnalités avancées telles que l’historique des commandes, l’extension des accolades et des capacités de script améliorées.
Dans les exemples ci-dessous, nous verrons comment la commande sh linux peut être utilisée dans différentes situations et comment elle interagit avec bash. Explorons les exemples plus en détail.
Exemple de commande sh de base : Pour exécuter une commande simple à l’aide
de sh
, vous pouvez ouvrir votre terminal et taper :sh -c 'echo "Hello, World!"'
Utilisation de sh dans un script Bash : vous pouvez également appeler
sh
à partir d’un script Bash. Ceci est utile si vous voulez vous assurer qu’une certaine section du script s’exécute avec le shell de base pour la portabilité.#!/bin/bash sh -c 'echo "Running with sh"' echo "Running with bash"
Différence entre Bash et Shell : Pour démontrer certaines différences entre
sh
etbash
, vous pouvez comparer la façon dont ils gèrent des fonctionnalités avancées telles que l’expansion des accolades.#!/bin/bash echo {A..Z}
sh -c 'echo {A..Z}'
Dans l’exemple ci-dessus,
bash
développera{A.. Z}
pour afficher toutes les lettres de A à Z. Cependant,sh
peut ne pas prendre en charge cette syntaxe, en fonction de l’implémentation du système. Cela met en évidence une différence clé entre l’écriture de scripts avec bash et shell.Principales différences entre Bash et Sh
QUAND CHOISIR BASH ET QUAND SH
Bash : utilisez Bash lorsque vous avez besoin de fonctionnalités de script avancées telles que des tableaux, des fonctions, la manipulation de chaînes et un large éventail de commandes intégrées. Bash est également préférable pour les scripts destinés à fonctionner sur les systèmes Linux modernes, où Bash est le shell par défaut.sh : Choisissez sh lorsque la portabilité est critique, car sh est le shell le plus basique, compatible avec divers systèmes de type UNIX. Utilisez-le pour des scripts simples qui nécessitent une compatibilité maximale et des fonctionnalités minimales, que l’on trouve souvent dans des environnements plus anciens ou légers.
Exécution de scripts avec sh : de nombreux scripts hérités utilisent
sh
pour la compatibilité. Voici comment vous pouvez créer et exécuter un scriptsh
simple.cat > test_script.sh << 'EOF' #!/bin/sh echo "This script runs with sh" EOF
Après avoir enregistré le script, rendez-le exécutable et exécutez-le :
chmod +x test_script.sh ./test_script.sh
L’option -c
est utilisée pour passer une commande à sh
. Cet exemple affichera simplement « Hello, World ! » sur le terminal. Il s’agit d’une utilisation simple de sh pour exécuter une commande d’une seule ligne.
Dans cet exemple, la ligne sh -c 'echo « Running with sh"'
exécute une commande avec sh, et l'echo
suivant s'exécute avec bash. Cela peut aider à illustrer la différence entre les deux coquilles.
Cela affichera « Ce script s’exécute avec sh ». Notez que le script commence par # !/bin/sh
, indiquant que sh doit être utilisé pour interpréter les commandes.
Conclusion
Comprendre la différence entre bash et sh est crucial pour un scripting efficace sous Linux. La commande sh linux est souvent utilisée pour les scripts de base, tandis que bash fournit un environnement plus puissant et plus convivial. En sachant quand utiliser sh vs bash, vous pouvez écrire des scripts à la fois portables et riches en fonctionnalités. Que vous exécutiez sh dans bash ou que vous exécutiez simplement une ligne de commande sh, les exemples ci-dessus devraient fournir une image plus claire de leurs capacités et différences.