Sous Unix et Linux, il existe plusieurs "shells". Shell fait référence à un programme utilisateur spécial qui offre à ses utilisateurs une interface pour utiliser les services du système d'exploitation.
Deux des shells les plus connus sont KSH et Bash. Ce sont les coquilles du domaine de la programmation informatique. Ces deux ont des ensembles distincts de fonctionnalités et de commandes. Ces deux coquilles sont interdépendantes.
Faits marquants
- KSH (KornShell) est un shell plus ancien, tandis que BASH (Bourne-Again SHell) est un shell plus récent avec des fonctionnalités supplémentaires.
- BASH est le shell par défaut pour la plupart des distributions Linux, tandis que KSH est plus courant dans les systèmes Unix.
- BASH est compatible avec les scripts KSH mais ne prend pas en charge toutes les fonctionnalités BASH.
KSH contre Bash
KSH est une commande interprète et langage de programmation compatible avec POSIX. Frapper est une version améliorée du shell Bourne développé par Steve Bourne dans les années 1970 et est maintenant le shell par défaut dans la plupart des distributions Linux. Il prend en charge de nombreuses fonctionnalités du shell Korn et possède des fonctionnalités supplémentaires.
KSH fait référence à un shell Unix développé par David Korn au début des années 1980. Il a été développé en s'inspirant de la demande des utilisateurs du Bell Lab et contient plusieurs fonctionnalités du shell C.
KSH est également rétrocompatible. Il existe principalement cinq versions du KSH-PDKSH, KSH, MKSH, KSH93 et KSH88.
Bash, quant à lui, fait référence au clone du shell Bourne. Il a été développé par la FSF (Freeware Software Foundation) et sous licence et écrit sous la licence publique générale (GPL).
Frapper shell a été développé plusieurs années plus tard par KSH, c'est donc le nouveau shell qui a plusieurs nouvelles ressources par rapport à celui de KSH.
Tableau de comparaison
Paramètres de comparaison | KSH | Frapper |
---|---|---|
Performance | Lorsqu'il s'agit de l'exécution de commandes et de scripts, KSH offre de bien meilleures performances que Bash. | Lorsqu'il s'agit de l'exécution de commandes et de scripts, les performances de Bash sont correctes. |
Fonctionnalités de programmation | KSH fournit des fonctionnalités de programmation supérieures et bien plus nombreuses que Bash. | Les fonctionnalités de programmation de Bash sont inférieures à celles de KSH. Cependant, Bash possède également de nombreuses fonctionnalités de programmation. |
Command | KSH utilise la commande print, pour imprimer la sortie, qui est meilleure que celle de Bash. | Bash utilise la commande echo pour imprimer la sortie. |
Ressources | KSH a été développé plus tôt que Bash, il y a donc peu de ressources dans KSH par rapport à celui de Bash. | Bash est un nouveau shell et, par conséquent, il dispose de nombreuses ressources et est plus populaire que KSH. |
Scripts | Pour avoir une syntaxe plus ancienne, les scripts d'un KSH sont moins lisibles. | Pour avoir une syntaxe plus récente, les scripts d'un Bash sont lisibles et compréhensibles. |
Qu'est-ce que le KSH ?
KSH ou le shell Korn fait référence au shell UNIX qui a été développé par Sir David Korn au début des années 1980. KSH a été développé il y a de nombreuses années, avant la création de Bash.
Comme il a été développé il y a de nombreuses années, il dispose de moins de ressources que Bash. En conséquence, très peu de personnes utilisent maintenant KSH.
Il a été développé comme la version complète combinée d'autres shells UNIX importants. Il incorporait toutes les fonctionnalités de Tab C-shell et C shell et les fonctionnalités de langage de script des shells Bourne.
L'obus Bourne était alors considéré comme le meilleur obus en termes d'efficacité. Les shells Unix les plus populaires sont le shell C, le shell Bourne et le shell Korn.
KSH fait partie de la famille Bourne Shell et est très facile à utiliser. En conséquence, les utilisateurs inexpérimentés préfèrent KSH.
La commande 'r history' du KSH est très bonne car elle permet à ses utilisateurs de revenir très rapidement aux anciennes commandes. La commande d'impression du KSH lors de l'impression de la sortie est très efficace.
KSH fournit également des fonctionnalités de programmation supérieures.
La taille binaire de l'interpréteur KSH est de 1.6 Mo. Pour avoir une syntaxe plus ancienne, les scripts d'un KSH sont moins lisibles. KSH possède également des tableaux associatifs et peut facilement gérer efficacement la syntaxe de la boucle.
Qu'est-ce que Bash ?
Bash ou Bourne Again Shell était une version améliorée du programme Bourne Shell nommé "sh" qui a été écrit par Brian Fox.
Il a été développé par la FSF (Freeware Software Foundation) et sous licence et écrit sous la licence publique générale (GPL).
Bash a amélioré de nombreuses fonctionnalités du Bourne Shell pour des utilisations interactives et de programmation. Il inclut des fonctionnalités telles que l'historique des commandes, l'édition de la ligne de commande, les raccourcis clavier et bien d'autres.
Pour le mac OS d'Apple et la plupart des Linux Bash agit comme le shell de connexion par défaut. Il est également accessible à partir de Windows 10. Dans de nombreux modes Linux, il s'agit désormais d'un shell par défaut.
Bash fait référence à un interpréteur de ligne de commande, exécuté dans une fenêtre de texte. Les utilisateurs interprètent les commandes pour effectuer plusieurs actions.
L'ensemble de ces différentes commandes est appelé un Shell Script (comme une série dans un fichier). Bash lit ces commandes à partir du script Shell et les exécute pour effectuer plusieurs actions.
Comparé au KSH, Bash est plus populaire, plus récent et dispose également de plus de ressources car il s'est développé récemment. En conséquence, il est facile d'apprendre à utiliser Bash.
Les deux avantages les plus importants de Bash sont la méthode simple de configuration de l'invite pour afficher le répertoire en cours et l'achèvement de l'onglet.
Principales différences entre KSH et Bash
- Lorsqu'il s'agit de l'exécution de commandes et de scripts, KSH offre de bien meilleures performances par rapport à Bash, d'autre part, lorsqu'il s'agit de l'exécution de commandes et de scripts, les performances de Bash sont décentes.
- KSH fournit des fonctionnalités de programmation supérieures et bien plus nombreuses que Bash. Les fonctionnalités de programmation de Bash sont inférieures à celles de KSH. Cependant, Bash possède également de nombreuses fonctionnalités de programmation.
- KSH utilise la commande print, pour imprimer la sortie, qui est meilleure que celle de Bash. Bash utilise la commande echo pour imprimer la sortie.
- KSH a été développé plus tôt que Bash, il y a donc peu de ressources dans KSH par rapport à celui de Bash. Bash est un nouveau shell et, par conséquent, il dispose de nombreuses ressources et est plus populaire que KSH.
- Pour avoir une syntaxe plus ancienne, les scripts d'un KSH sont moins lisibles, mais pour avoir une syntaxe plus récente, les scripts d'un Bash sont lisibles et compréhensibles.
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=korn+shell&oq=korn+she#d=gs_qabs&u=%23p%3Dzna0kMa6N3MJ
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Bash&btnG=#d=gs_qabs&u=%23p%3DYFtvOe41MKUJ
Dernière mise à jour : 11 juin 2023
Sandeep Bhandari est titulaire d'un baccalauréat en génie informatique de l'Université Thapar (2006). Il a 20 ans d'expérience dans le domaine de la technologie. Il s'intéresse vivement à divers domaines techniques, notamment les systèmes de bases de données, les réseaux informatiques et la programmation. Vous pouvez en savoir plus sur lui sur son page bio.
La comparaison des ressources m'a aidé à mieux comprendre les différences, merci !
La comparaison détaillée de KSH et Bash est très utile, merci pour le partage.
L'explication était fantastique, très claire et concise !
Je suis d'accord, c'était un excellent article !
C'est incroyable la quantité d'informations contenues dans cet article. Merci beaucoup!
J'ai trouvé la comparaison des performances entre KSH et Bash très intéressante, super article !
J'apprécie les efforts déployés pour fournir un article aussi informatif.