Comparez SH Shell vs. Frapper

Comparez SH Shell vs. Frapper
Tout système d'exploitation Unix / Linux moderne est livré avec le shot et les coquilles bash installées par défaut. Alors que les deux sont de nature très similaire, l'un offre plus que l'autre.

Ce guide plongera profondément dans les différences et les similitudes entre le shot Et les coquilles bash.

Coque Linux

Dans Linux, un shell est un programme dédié pour l'interprétation des commandes. Il interprète le langage de commande et dit au système d'exécuter les tâches décrites. Cela ne fait pas partie du noyau mais peut effectuer des tâches, telles que l'exécution de programmes et la création de fichiers.

La fonctionnalité d'un shell est mieux comprise avec un exemple. Ouvrez le terminal de votre système et exécutez la commande suivante:

$ date

Ici, nous avons noté ce qui suit:

  • Le shell par défaut a pris la «date» de la commande, interprétée et exécutée date outil.
  • Il a également imprimé la sortie sur l'écran de la console.

Les obus peuvent également venir avec leurs propres langues. Les scripts de bash, par exemple, sont puissants pour automatiser les tâches très complexes et faire des merveilles.

Il y a beaucoup de coquilles disponibles pour la plate-forme Linux. De toute évidence, le plus populaire est la coquille bash. Voici quelques objets alternatifs qui méritent d'être vérifiés:

  • Zsh avec oh mon zsh
  • Coquille de poisson

The Bourne Shell (SH)

Le shell Bourne est le shell par défaut pour la version 7 Unix. Développé à l'origine par Stephen Bourne à Bell Labs, il était en remplacement de la coquille de Thompson. Le Bourne Shell a commencé son voyage en 1979. En savoir plus sur l'histoire du Bourne Shell sur Wikipedia.

Même à ce jour, le Bourne Shell est disponible sur presque tous les systèmes Linux. L'emplacement du binaire est le suivant:

$ qui sh

Les systèmes de type Unix continuent d'avoir Bourne Shell à / usr / bin / sh. Ce n'est peut-être pas la coque Bourne mais un lien symbolique / dur à une coque plus compatible. Vous pouvez le vérifier en exécutant la commande suivante:

$ file -h / bin / sh

Le shot Shell est également le nom du langage de programmation de commande. Cette langue est décrite par POSIX Standard que tous les systèmes Unix et Unix doivent suivre. Le shell Bourne dont nous avons discuté jusqu'à présent est une implémentation de shot.

The Bourne Again Shell (bash)

Maintenant, nous sommes arrivés à la coquille moderne que nous connaissons et aimons tous - The Bash Shell, également connu sous le nom de «Bourne Again Shell."La dénomination est un jeu de mots indiquant qu'il remplace la coque Bourne.

Développé par Brian Fox pour le projet GNU, Bash est à la fois un shell Unix et un langage de commande. Il a été publié pour la première fois en 1989. Depuis lors, c'est le shell de connexion par défaut pour la plupart des distros Linux. En savoir plus sur l'histoire de The Bash Shell sur Wikipedia.

Bash est un superset de shot, ce qui signifie qu'il intègre des fonctionnalités de shot Et un peu plus. En tant que langue, la plupart des commandes font la même chose que shot. Cependant, Frapper n'est pas une coque conforme à POSIX mais plutôt un dialecte de la langue de la coquille POSIX. Bash est destiné à être la mise en œuvre conforme de la portion de coquille et d'outils IEEE POSIX de la spécification IEEE POSIX (IEEE Standard 1003.1).

Vérifiez l'emplacement du binaire Bash Shell:

$ qui bash

Différences entre SH et Bash

Fourni le contexte historique, shot et les bash partagent plus de similitudes que les différences car l'une est une meilleure mise en œuvre de l'autre. Quoi qu'il en soit, voici quelques différences de fonctionnalités notables que l'on devrait connaître.

Coquille par défaut

Dans la plupart des systèmes modernes d'aujourd'hui, Bash est le shell par défaut.

Emplacement binaire

Vérifiez l'emplacement binaire des deux coquilles:

$ qui sh
$ qui bash

Fonctionnalité

Par rapport à shot, Bash offre beaucoup plus de flexibilité et de syntaxe qui ressemble à un langage de programmation moderne. Voici quelques fonctionnalités supplémentaires que Bash offre shot:

  • Bash prend en charge l'achèvement de la ligne de commande avec le LANGUETTE clé
  • Parcourez l'historique des commandes en utilisant le EN HAUT Clé flèche ou «Ctrl + R»
  • Calcul arithmétique sans aucun outil tiers
  • Tableaux associatifs
  • Raccourcis clavier
  • Prise en charge de la personnalisation pour la présentation de bash par défaut
  • Épochéscondes et variables d'environnement épochréal
  • Extensions de l'accolade

Conformité POSIX

Par défaut, Bash n'est pas conforme à Posix, alors que shot est. Cependant, nous pouvons exécuter Bash en mode conforme POSIX avec la commande suivante:

$ bash - Posix

Si vous écrivez un script bash mais que vous avez besoin de la norme POSIX, utilisez le code suivant au début:

#!/ bac / bash
Set -o POSIX

Ici le ensemble La commande dit à Bash pour activer le mode POSIX.

Facilité d'utilisation

Bash offre une langue de ligne de commande plus moderne par rapport à shot. À cet égard, vous aurez un moment plus confortable en utilisant Bash.

Portabilité

Par rapport à bash, shot Offre une meilleure portabilité.

Parce que shot est conforme à POSIX, tout shell qui prend en charge POSIX pourra fonctionner shot scripts. Par exemple, Bash peut fonctionner shot scripts en mode POSIX.

Script

Lorsque vous écrivez un script en bash, le code n'est garanti que pour être compatible avec Bash.

D'un autre côté, lors de la script shot, Le code peut être exécuté sur n'importe quel shell. C'est parce que shot Définit la langue de script de shell d'origine.

Conclusion

Dans cet article, nous avons exploré l'histoire, les similitudes et les différences entre shot et bash. Shot est le prédécesseur de bash. Tous deux sont disponibles sur tous les systèmes UNIX / Linux modernes. Tandis que Bash offre une expérience plus confortable et facile à utiliser, shot Offre la compatibilité, la portabilité et la syntaxe / comportement standardisé.

Êtes-vous nouveau dans les scripts bash? Ce tutoriel de script de bash pour les débutants couvre tout ce qui est nécessaire pour écrire vos scripts bash. Nous espérons que vous avez trouvé cet article utile. Découvrez d'autres articles sur les conseils pour plus de conseils et de tutoriels.