IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel shell utilisez-vous ?

Votants
278. Vous ne pouvez pas participer à ce sondage.
  • sh shell POSIX

    21 7,55%
  • ksh Korm shell

    42 15,11%
  • csh C-shell

    7 2,52%
  • rksh Korn shell restreint

    1 0,36%
  • rsh shell restreit

    0 0%
  • bash shell de Linux

    206 74,10%
  • autres (précisez)

    1 0,36%
Shell et commandes GNU Discussion :

Quel shell utilisez-vous ?


Sujet :

Shell et commandes GNU

  1. #81
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    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.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  2. #82
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par Celelibi Voir le message
    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.
    sur une distribution linux ok, sur les unix plus classique c'est souvent des binaires différents..
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  3. #83
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par afrikha Voir le message
    Pourquoi avoir choisi ce shell ?
    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.

    Citation Envoyé par afrikha Voir le message
    Quels sont les shells que vous avez déjà essayé/utilisé ?
    /bin/sh, /bin/ksh, /bin/bash et /bin/rsh pour des commandes à travers le réseau

    Citation Envoyé par afrikha Voir le message
    Quels sont ses avantages/inconvénients ?
    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
    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
    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.

    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...

    Citation Envoyé par jabbounet Voir le message
    Avoir un lien vers le même exe ne veux pas forcément dire que l'exécution sera identique.
    si dash/bash à un comportement basé sur le nom de l'exé passé en ligne de commande façon busybox
    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]

  4. #84
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Citation Envoyé par Sve@r Voir le message
    Et même si /bin/sh n'est qu'un lien symbolique sous Linux vers /bin/bash
    Ceci dépend des distributions. Par exemple, sous Debian, Ubuntu & co, /bin/sh pointe sur /bin/dash il me semble. (Bien que sous Ubuntu, ça n'empêche pas que le shell par défaut soit Bash).

    Sous RHEL & co, la il pointe bien vers /bin/bash ...

    Cordialement,
    Idriss

  5. #85
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ok.Idriss Voir le message
    Par exemple, sous Debian, Ubuntu & co, /bin/sh pointe sur /bin/dash il me semble. (Bien que sous Ubuntu, ça n'empêche pas que le shell par défaut soit Bash).
    Peut-être sous Debian 6 (pas encore testé) mais sous ma Debian 5 Lenny (installée en 2009), /bin/sh pointait à cette époque encore vers /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]

  6. #86
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Peut-être sous Debian 6 (pas encore testé) mais sous ma Debian 5 Lenny (installée en 2009), /bin/sh pointait à cette époque encore vers /bin/bash
    Peut être exclusivement avec Ubuntu & co alors (je viens de vérifier sur une vielle Kubuntu) ...

    Sinon je me demande si Ksh ne serait pas une bonne solution de portabilité Unix/Linux, qu'en pensez-vous ? En effet, il est présent dans les dépôts de beaucoup de distros et est le shell par défaut de beaucoup d'Unix (la syntaxe est aussi généralement compatible avec bash d'après ce que j'ai compris).

    Cordialement,
    Idriss

  7. #87
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ok.Idriss Voir le message
    Sinon je me demande si Ksh ne serait pas une bonne solution de portabilité Unix/Linux, qu'en pensez-vous ? En effet, il est présent dans les dépôts de beaucoup de distros et est le shell par défaut de beaucoup d'Unix (la syntaxe est aussi généralement compatible avec bash d'après ce que j'ai compris).
    C'est vrai que bash peut se résumer (sans aucune notion péjorative dans ce verbe) à un ksh amélioré mais malheureusement tous les Unix n'ont pas ksh...
    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]

  8. #88
    Membre averti
    Homme Profil pro
    [SciComp]
    Inscrit en
    Août 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : [SciComp]

    Informations forums :
    Inscription : Août 2013
    Messages : 134
    Points : 323
    Points
    323
    Par défaut
    Au risque de déterrer un vieux sujet, mais en apportant un élément à la discussion:
    ksh... qui permet de faire de l'arithmétique flottante, qui, pour du calcul scientifique -- sans s'en servir pour de "vrais" calculs bien sûr ! -- peut s'avérer fort utile pour du pré/post processing simple. Je sais qu'au moins sh et bash ne permettent pas ça.

  9. #89
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Dommage qu'on ne puisse en choisir qu'un.

    J'ai coché sh, mais je travail également avec des scripts ksh déjà créés.
    Je n'ai pas réellement choisi.

  10. #90
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nanooby Voir le message
    Dommage qu'on ne puisse en choisir qu'un.
    Il s'agissait de donner le shell dans lequel tu travailles "le plus souvent" ou "qui a ta préférence", bref celui que tu choisirais instinctivement si on te donnait un outil (pouvant être écrit dans différents shells) à écrire...

    Et les scripts "écrits par d'autres" avec lesquels tu travailles également ne comptent pas (surtout qu'à mon avis, ce "travail" doit se résumer à les exécuter...)
    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]

  11. #91
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Il s'agissait de donner le shell dans lequel tu travailles "le plus souvent" ou "qui a ta préférence", bref celui que tu choisirais instinctivement si on te donnait un outil (pouvant être écrit dans différents shells) à écrire...

    Et les scripts "écrits par d'autres" avec lesquels tu travailles également ne comptent pas (surtout qu'à mon avis, ce "travail" doit se résumer à les exécuter...)
    Non je crée mon propre script pour automatiser le lancement de ces autres scripts, scripts que je dois modifier pour adapter à mon script. C'est-à-dire que certaine tâches sont modifiées, d'autres supprimées, et d'autres ajoutées.

    Le script que moi je crée est en Bourne Shell. Je préfère ne pas m'aventurer trop loin dans les autres car je suis novice.

  12. #92
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nanooby Voir le message
    Le script que moi je crée est en Bourne Shell. Je préfère ne pas m'aventurer trop loin dans les autres car je suis novice.
    ksh et bash sont 100% compatibles Bourne Shell mais avec des outils additionnels. Donc tu peux remplacer #!/bin/sh par #!/bin/bash sans aucun soucis mais t'auras accès à d'autres possibilités (tableaux, calculs, etc...) que tu découvriras au fur et à mesure et qui, au pire, ne changeront rien mais qui, au mieux, amélioreront le rendement de tes scripts...
    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]

  13. #93
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    ksh et bash sont 100% compatibles Bourne Shell mais avec des outils additionnels. Donc tu peux remplacer #!/bin/sh par #!/bin/bash sans aucun soucis mais t'auras accès à d'autres possibilités (tableaux, calculs, etc...) que tu découvriras au fur et à mesure et qui, au pire, ne changeront rien mais qui, au mieux, amélioreront le rendement de tes scripts...
    C'est bon à savoir !

  14. #94
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par nanooby Voir le message
    Le script que moi je crée est en Bourne Shell. Je préfère ne pas m'aventurer trop loin dans les autres car je suis novice.
    Roh, il ne faut pas avoir peur (ça vaut le détour, et une fois qu'on est habitué aux possibilités qu'offre Bash on peux difficilement revenir à l'age de pierre )

  15. #95
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    ksh et bash sont 100% compatibles Bourne Shell mais avec des outils additionnels.
    s/Bourne/POSIX/

    Le Bourne shell est une antiquité présentant quelques incompatibilités et des manques par rapport au shell POSIX. Il n'a été disponible en Open Source qu'en 2006 ( http://heirloom.sourceforge.net/sh.html ) et son utilisation sous Linux est anecdotique.

    /bin/sh n'est donc a peu près jamais, sous Linux, le (vrai) Bourne shell mais généralement une implémentation de shell POSIX, le plus souvent fournie par bash ou par dash.
    ɹǝsn *sıɹɐlos*

  16. #96
    Futur Membre du Club
    Homme Profil pro
    Traitement de données statistiques
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Traitement de données statistiques

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Autrefois avec Unix, c'était plutôt le C-shell (csh).
    Maintenant avec Linux, j'utilise en priorité bash.

  17. #97
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 717
    Points
    12 717
    Par défaut
    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
    Cordialement.

  18. #98
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    ici, l'une des premières implémentation de sh:
    http://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/sh.s
    Très spartiate, ce shell. Il n'y avait alors que deux builtins, "login" et "cd" ("chdir" à l'époque), les commandes en arrière plan (&), l'expansion des métacaractères (* et ?) traitée par un programme externe et les redirections en entrée et en sortie (< et >).

    C'est tout, pas de variables, pas de pipes, pas de structures de contrôle (boucles for, if, case, ...) qui arriveront avec le Bourne shell six ans plus tard.
    ɹǝsn *sıɹɐlos*

  19. #99
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 276
    Points : 12 717
    Points
    12 717
    Par défaut
    Et oui...
    Mais pour l'époque, cela montre la pointure des auteurs (Ken Thompson, Dennis Ritchie) capable de faire quelque chose de fonctionnelle en peu de ligne de code...
    Sur le même site, en fouillant un peu, on trouve aussi l'une des premières version du Bourne shell:
    http://minnie.tuhs.org/cgi-bin/utree...usr/src/cmd/sh
    Et comme on peut le voir, la plupart du source est écrit sous forme de Macro via le preprocesseur C (les define sont dans mac.h)
    Cordialement.

Discussions similaires

  1. Quel outil utilisez vous pour concevoir vos bases de données
    Par Matthieu Brucher dans le forum Outils
    Réponses: 93
    Dernier message: 01/08/2014, 15h20
  2. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  3. Réponses: 10
    Dernier message: 15/01/2003, 01h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo