Bonjour,
Pour ceux que ça interessent, on trouve ici, l'une des premières implémentation de sh:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/sh.s
sh shell POSIX
ksh Korm shell
csh C-shell
rksh Korn shell restreint
rsh shell restreit
bash shell de Linux
autres (précisez)
Bonjour,
Pour ceux que ça interessent, on trouve ici, l'une des premières implémentation de sh:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/sh.s
ksh (Korn shell) parce que c'est celui qui est défini par défaut sur les machines AIX et NCR que j'utilise au boulot.
Aussi parce que j'utilisais U/WIN sur mes machines Windows à une époque où cygwin était loin d'être au point.
(U/WIN étant développé par AT&T et les équipes de David Korn, le choix du shell était implicite)
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous,
N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton
et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
j'utilises KSH et BASH
KSH parceque je l'ai au boulot et que ça m'évite de convertir certains scripts qui utilisent des fonctions avancés....
quand au bash je l'utilises de plus en plus parceque ces fonctions avancées sont nombreuses et que je les decouvres, deplus il est tres majauritaire dans les distribs linux/bsd et sur certains unix ducoup c'est tres pratique pour la compatibilité et vu les fonctionnalités et sa stabilité .... j'y passe de plus en plus....
j'aime bien ksh
par exemple
n'existe pas dans bash
Code : Sélectionner tout - Visualiser dans une fenêtre à part cd arg1 arg2
mais je préfère utiliser bash à cause de TAB.
Bash n'est pas standard sous Unix, sur beaucoup de machines AIX il n'est pas installé.
bash.
Pourquoi ? Et bien, historiquement, je n'ai connu que ce shell dès mes premiers pas sous Linux. De même, au cours de ma formation en informatique, notre module Unix était pour bash. Et même dans le milieu professionnel, je ne travaille ou ai travaillé sous bash (que ce soit sous linux, solaris ou irix).
Donc, bash for ever !
@++
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code :tagcode: ni le tag :resolu:
Je ne répond à aucune question technique par MP.
bonjour,
quelle est la différence entre un script /bin/bash et /bin/sh?
merci
cela dépend de l'os.
Sur Solaris /bin/sh c'est du Bourne Shell, donc pas de echo $(date) ni de echo $RANDOM.
Sur AIX, /bin/sh c'est du Korn Shell, donc l'expression cd 1 2 est légale
Sur Linux, /bin/sh c'est du bash, donc pas de différence !
A+
Laurent
J'utilise Bash, aussi bien sous Linux que sous FreeBSD. Je n'ai jamais pu m'habituer à Ksh.
Bash parce que c'est le Shell par défaut de Linux, c'est sans doute un des plus utilisés (si ce n'est le plus utilisé) et pour ce que j'en fait, je ne fait même pas de script avec![]()
Il me suffit pour des compilations et installations en ligne de commande![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Moi, c'est ksh.
Sans doute parceque c'est celui utiliser dans mon entreprise.
Et puis, une fois qu'on s'y est fait, le rappel de commande, façon vi, est super pratique.
Raoul555
J'utilise bash de cygwin.
C'est top, windows devient vivable avec ce soft.
J'chui une bille en DOS ...
sh n'est plus installé par défaut sur beaucoup de distrib.
Le plus souvent, /bin/sh n'est qu'un lien symbolique vers bash.
J'utilise /bin/sh parce que je travaille en environnements hétérogènes (Linux, sun, Unix) et que je veux des scripts 100% compatibles. Et même si /bin/sh n'est qu'un lien symbolique sous Linux vers /bin/bash, je n'utilise que des outils 100% Bourne Shell.
/bin/sh, /bin/ksh, /bin/bash et /bin/rsh pour des commandes à travers le réseau
Ben les inconvénients du shell est de ne pas pouvoir utiliser les outils puissants bash comme ((...)), les tableaux, toutes les expressions spéciales possibles pour les variables ${var:-....} ou pour test "test -e, test -O, ..."
De plus, j'ai remarqué un truc amusant avec ksh. Prenons une boucle simple de traitement de flux
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 flux |while read ligne do .... done
rajoutons un petit compteur de ligne
Malheureusement, le compteur est repassé à 0 en fin de boucle. C'est probablement dû au pipe qui a généré un processus dédié et donc indépendant.
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 cpt=0 flux |while read ligne do cpt=`expr $cpt + 1` .... done echo $cpt
Ben ça, en ksh, ça fonctionne et le compteur a bien la bonne valeur à la fin du done. Et je n'ai jamais compris pourquoi cela fonctionnait en ksh...
Exact. J'ai d'ailleurs remarqué que même sous Linux, avec /bin/sh -> /bin/bash, un même script se comportait avec qq minimes différences suivant qu'on le fasse commencer par #!/bin/sh ou #!/bin/bash...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager