|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 6 ![]() |
Ami du soir, bonsoir.
Une petite question me taraude. j'aimerais avoir la confirmation. Je ne trouve pas la réponse sur le net. Donc ma question: quelle est la différence entre le shell unix et le shell linux? Etant donné que linux dérive de unix, je dirai aucune. Right or wrong? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : octobre 2008 Messages : 1 361 ![]() |
Wrong. Enfin ça dépend. Il y a plusieurs shells sous Linux, et il y a plusieurs shells sous Unix (et plusieurs Unix aussi d'ailleurs).
Si tu as bash sous Linux et bash également sous Unix, alors évidemment il n'y a pas de différences (si ce sont les mêmes versions, et à quelques détails près). Maintenant en général, sur les Unix, le shell par défaut est ksh. ksh est plus basique que la plupart des shells qu'on trouve par défaut sous Linux (comme bash ou zsh). En fait ksh est plus près de la norme POSIX, c'est à dire que d'une manière générale des shells comme bash ou zsh font des "trucs en plus" que ksh ne supporte pas. D'une manière générale, un script ksh peux tourner sans modification sous les shells "linux" du style bash ou zsh. L'inverse n'est pas forcément vrai. Quelques exemples d'extension non POSIX supportées par bash : - Les "process substitutions" : <(list) et >(list) - Les "pattern substitutions" : ${parameter/pattern/string} - L'option pipefail ou le tableau PIPESTATUS - Les tableau associatifs En plus de ça, de nombreuses commandes "standard" ne fonctionnent pas tout à fait de la même manière sous Linux et sous les différents Unix, ou ne supportent pas les mêmes flags. Un exemple courant est le flag -i de sed qui permet sous Linux de modifier directement le fichier d'entrée, et qui n'existe généralement pas sous les différents Unix. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 6 ![]() |
merci matafan pour ta réponse qui a été très instructive.
Cependant rassure moi, la logique est toujours la même? Je veux dire par là, c'est toujours du procédural avec des boucles, des cases etc .... D'après ce que ta réponse, j'ai surtout l'impression que les différences sont au niveau syntaxique. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com