Sondage Mon shell préféré

Posté par .
Tags : aucun
8
24
fév.
2009
  • le truc par défaut :
    1183
    (24.3 %)
  • bash :
    2583
    (53.0 %)
  • zsh :
    641
    (13.1 %)
  • ksh :
    117
    (2.4 %)
  • tcsh :
    72
    (1.5 %)
  • csh :
    12
    (0.2 %)
  • sh :
    106
    (2.2 %)
  • h :
    31
    (0.6 %)
  • command.com :
    132
    (2.7 %)

Total : 4877 votes

La liste des options proposées est volontairement limitée : tout l'intérêt (ou son absence) de ce type de sondage réside dans le fait de forcer les participants à faire un choix. Les réponses multiples sont interdites pour les mêmes raisons. Il est donc inutile de se plaindre au sujet du faible nombre de réponses proposées, ou de l'impossibilité de choisir plusieurs réponses. 76,78% des sondés estiment que ces sondages sont ineptes.
  • # Le Bash et le truc par défaut

    Posté par . Évalué à 9.

    Le Bash est utilisé par défaut dans pas mal de distributions Linux
    Je n'ai rien utilisé d'autre que le Bash
    • [^] # Re: Le Bash et le truc par défaut

      Posté par (page perso) . Évalué à 7.

      C'est vrai dans un sens, bash est quand même très souvent le shell par défaut dans les distribs GNU/Linux.

      En même temps, j'imagine que plein d'utilisateurs "de base" (sisi, ça existe, y'a pas que des geeks qui utilisent GNU/Linusqme) ne savent pas quel shell ils utilisent, parce qu'ils n'écrivent pas de scripts, et ne font pas des trucs "compliqués" du style head -$(expr 1 + $RANDOM \% `wc -l < ~/.blaguesgeek`) ~/.blaguesgeek | tail -1 dans leur .bashrc .

      Bash est très apprécié par le fait qu'il fait à peu près ce qu'on attend de lui, avec la gestion normale des touches du clavier (quand j'appuie sur backspace ça corrige, et la flèche de gauche permet de déplacer le curseur à gauche), la tab completion, etc. Et donc s'il est par la plupart du temps le shell par défaut, ce n'est pas complètement par hasard non plus.
      • [^] # Re: Le Bash et le truc par défaut

        Posté par (page perso) . Évalué à 8.

        Le problème, c'est surtout les distributions qui font croire qu'elles ont un sh alors que ce n'est qu'un lien vers bash.

        Après on retrouve des scripts qui commencent par
        #! /bin/sh
        mais qui en fait contiennent plein de bashismes et qui ne tournent pas sans une bordée de modifications...
      • [^] # Re: Le Bash et le truc par défaut

        Posté par (page perso) . Évalué à 8.

        des trucs "compliqués" du style head -$(expr 1 + $RANDOM \% `wc -l < ~/.blaguesgeek`) ~/.blaguesgeek | tail -1 dans leur .bashrc .

        Normal, ils utilisent fortunes et pas un truc incompréhensible en shell :-)
    • [^] # Re: Le Bash et le truc par défaut

      Posté par . Évalué à 1.

      Bash sur Linux et ksh sur OpenBSD et je n'ai pas remarqué de grosses différences..... Les rares script que je fait utilisent sh en principe et on l'air de fonctionner de la même façon dans les 2 environnement.
      J'ai quand même essayé zsh sur linux parce que le globing "c'est trop bien" mais comme ca ne faisait pas toujours ce que je voulais je suis revenu à bash.

      Je me dis qu'Il faut sans doute avoir une utilisation très importante (en temps) du shell pour pouvoir en choisir un plutôt qu'un autre.
  • # sh

    Posté par (page perso) . Évalué à 6.

    Pour avoir le maximum de scripts portables ;-)

    J'ai longtemps subi ksh, un peu utilisé csh, command.com est lui largement inutilisable... (cmd.exe de OS/2 avec du Rexx avait déjà un peu plus de possibilités).

    Je me dis toujours qu'il faudrait que j'essaie zsh.
    À voir http://en.wikipedia.org/wiki/Comparison_of_computer_shells il doit y avoir beaucoup de fonctions dont je n'ai même pas idée de toute façon :/
    • [^] # Re: sh

      Posté par (page perso) . Évalué à 3.

      On peut utiliser à la fois sh et un shell plus moderne.

      Pour ma part, j'utilise sh pour mes scripts, et bash en ligne de commande. Car autant j'aime que ce que fais soit portable, autant mon environnement de commande se doit d'être le plus confortable possible.

      d'ailleurs bash est totalement (il me semble) compatible avec sh lorsqu'il est lancé sous le nom "sh". Ce qui fait qu'en général le même fichier exécutable est utilisé pour bash et sh.
      • [^] # Re: sh

        Posté par (page perso) . Évalué à 3.

        oui, bash permet d'exécuter des scripts sh, bien sûr (et heureusement).
        Le souci se produit lorsque tu as introduit des "bash-ismes" : ils seront correctement pris en compte dans des environnements qui disposent de bash, en revanche sur des distributions pour des appliances/routeurs par exemple, tu n'auras réellement que sh ou un sous-ensemble de bash (openwrt il me semble... et autres exemples similaires, notamment lorsque la mémoire disponible est limitée).

        De l'intérêt d'avoir en tête la portabilité dans ses scripts, même si son environnement de travail peut être plus avancé : comme je dis souvent, moi j'ai une GUI pour le shell, je lance gnome-terminal, c'est graphique, dans une fenêtre et le copier/coller est très efficace d'un clic du milieu de la souris ;-)
        • [^] # Re: sh

          Posté par (page perso) . Évalué à 0.

          normalement bash lancé sous le nom "sh" est censé refuser tout "bash-isme", c'est comme si on utilisait le vrai sh.

          et donc si on écrit un script avec l'en-tête #!/bin/sh on est sûrs que ça passe avec le vrai sh.
          • [^] # Re: sh

            Posté par . Évalué à 5.

            normalement...
          • [^] # Re: sh

            Posté par . Évalué à -1.

            Non puisque "souvent" /bin/sh est un lien vers /bin/bash ...

            Un petit ls -l /bin te montre si tu as sh ou pas...

            Ensuite les bashisme sont les structures propre à bash et incompréhensible par sh, donc tu as beau mettre /bin/sh en haut, si tu utilise ton script sur une machine qui n'a pas bash mais seulement sh => il plante... CQFD

            "Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"

            • [^] # Re: sh

              Posté par . Évalué à 5.

              Non mais théoriquement Bash est censé regarder sous quel nom on l'appelle : si c'est sh, il est censé supprimer toutes les fonctionnalités pas standards. Théoriquement. Dans la pratique, comme je l'ai dit ailleurs, son mode de compatibilité est pourri et il accepte les trucs spécifiques à Bash même appelé en tant que sh. C'est pas des dévs d'Ubuntu qui vont me contredire...
  • # Bash 4.0

    Posté par . Évalué à 5.

    Est sorti : http://permalink.gmane.org/gmane.org.fsf.announce/1032

    "The most notable new features are associative arrays, improvements to the
    programmable completion functionality, case-modifying word expansions,
    co-processes, support for the `**' special glob pattern, and additions to
    the shell syntax and redirections. The shell has been changed to be more
    rigorous about parsing commands inside command substitutions, fixing one
    piece of Posix non-compliance
    "
  • # cmd.exe

    Posté par (page perso) . Évalué à 8.

    fallait bien que quelqu'un la sorte...
    =>[]
  • # csh vers bash

    Posté par . Évalué à 6.

    Autant j'utilise tout le temps bash pour passer des commandes simples, autant pour mes scripts j'ai toujours utilisé csh/tcsh, jusqu'au jour très récent ( http://linuxfr.org/forums/26/26734.html ) ou je suis tombé sur des bugs insolvables en csh et ou j'ai du ré-écrire en bash.

    ==> CSH saimal ( http://le_shell_avec_csh.saimal.fr/ )
    • [^] # Re: csh vers bash

      Posté par . Évalué à 3.

      csh programming is harmful, c'est bien connu. Cela dit moi pour les scripts c'est du pur sh (avec les fonctions quand même, il ne doit plus y avoir beaucoup de sh sans fonctions qui trainent). Et zsh en interactif : pourquoi se limiter en prenant bash ?
  • # Fish

    Posté par (page perso) . Évalué à 4.

    Et Fish y'a personne qui l'utilise ?

    http://www.fishshell.org/
    • [^] # Re: Fish

      Posté par . Évalué à 10.

      fish ca pue
      • [^] # Re: Fish

        Posté par (page perso) . Évalué à 0.

        Y'a quoi dans fish à part la colo syntaxique de moche ?
        • [^] # Re: Fish

          Posté par (page perso) . Évalué à 2.

          Y'a une syntaxe entièrement revue pour être cohérente et logique.
          Pas comme bash quoi.....
          • [^] # Re: Fish

            Posté par . Évalué à 1.

            Pas si évident. Je prends le switch/case, il n'est pas documenté si le case arrête l'évalutation du case précédent. L'exemple semble dire sue oui, et dans ce cas là moi je réclame mon pass-through...
          • [^] # Re: Fish

            Posté par (page perso) . Évalué à 2.

            Qu'est-ce qu'elle a d'illogique la syntaxe de bash? Elle est bizarre, ça d'accord, mais une fois qu'on s'y fait elle est quand même relativement logique, non?
            • [^] # Re: Fish

              Posté par (page perso) . Évalué à 5.

              >>> Qu'est-ce qu'elle a d'illogique la syntaxe de bash?

              En bash :
              Je commence par un if je dois finir par un fi
              Je commence par un for je dois finir par un done
              Je commence par un case je dois finir par un esac

              En Fish on finit tout avec un end. Pas besoin de se souvenir de plusieurs syntaxes différentes.

              La différence entre les 2 est bien expliquée ici :

              http://lwn.net/Articles/136232/
              • [^] # Re: Fish

                Posté par . Évalué à 10.

                Et comme on dit dans la Lozère : Et que s'appelorio esac.

                Oui, tout de suite -> []
    • [^] # Re: Fish

      Posté par . Évalué à 3.

      ça à l'air intéressant ça… des retours d'expériences ?

      J'ai bien envie d'essayer, rien que pour la coloration de la ligne de commande :)
    • [^] # Re: Fish

      Posté par . Évalué à 7.

      Tout le monde s'en fish ...
    • [^] # Re: Fish

      Posté par (page perso) . Évalué à 2.

      je viens juste de tester c'est vraiment sympathique avec une conf par défault pas mal du tout. Par contre il n'a pas l'aire de faire de l'auto complétion sur le scp. Il y a un moyen pour faire ca ?
      • [^] # Re: Fish

        Posté par . Évalué à 2.

        moi aussi je suis en train de tester… c'est vraiment bien !

        Par contre il manque aussi la complétion sur mercurial (particulièrement bien foutu sous bash) et apt…
        • [^] # Re: Fish

          Posté par (page perso) . Évalué à 1.

          Etrange sous Debian unstable (fish version 1.23.0-6) j'ai l'auto complétion complète (options, nom des paquets, ...) pour apt et mercurial.
          Pour le moment c'est plus avec dpkg* que la complétion est inéxistante (je suis sur que ca va venir).
  • # pff, seulement 12,5% de gens biens

    Posté par (page perso) . Évalué à 6.

    C'est triste ! seulement 12,5% d'utilisateurs zsh..

    Il y a donc tellement de gens qui n'aiment pas la ligne de commande pour qu'il y ait si peu d'utilisateurs zsh ?
    • [^] # Re: pff, seulement 12,5% de gens biens

      Posté par . Évalué à 6.

      Ou c'est que les utilisateurs de zsh l'utilisent et ne passent pas leur temps à répondre aux sondages en ligne
    • [^] # Re: pff, seulement 12,5% de gens biens

      Posté par (page perso) . Évalué à 3.

      C'est peut-être que bash marche très bien, et qu'il est standard sur la plupart des distributions? J'utilise bash tous les jours, et vu l'activisme des fanboys de zsh, j'ai regardé la feature list plus d'une fois; mais franchement, je vois pas ce qui est indispensable et me pousserait à changer. Utiliser zsh a aussi un coût: il n'est pas disponible partout, et dans ces cas il faut se remettre à bash.
      • [^] # Re: pff, seulement 12,5% de gens biens

        Posté par (page perso) . Évalué à 3.

        Oué enfin, c'est tout aussi vrai pour bash, quand on sort de linux..

        Et si tu n'a pas trouvé de différence, c'est bien dommage pour toi :)

        (et non t'inquiète pour l'activisme je suis probablement le seul :)
      • [^] # Re: pff, seulement 12,5% de gens biens

        Posté par . Évalué à 4.

        Je pense qu'on ne peut pas vraiment se rendre compte si telle ou telle fonctionnalité de tel shell est utile. Peut-être que là maintenant, tu n'en vois pas l'utilité, mais que dans tu auras un problème bien chiant à résoudre, tu te rends compte que zsh ça tue. C'est ce qu'il m'est arrivé récemment avec les globbing qualifiers : je n'en voyais pas l'intérêt jusqu'à avant-hier, jour où j'ai dû récupérer des données venant d'un disque Windows. Parce que c'est quand même plus facile de faire « chmod a-x **/*(.) » que « find . -type f -exec chmod a-x {} \; ».
        • [^] # Re: pff, seulement 12,5% de gens biens

          Posté par (page perso) . Évalué à 2.

          Parce que c'est quand même plus facile de faire « chmod a-x **/*(.) » que « find . -type f -exec chmod a-x {} \; ».

          C'est un peu plus facile, certes, mais la méthode find marche et je ne trouve pas cela suffisant pour justifier le changement de shell et tous les embêtements associés. (et encore moins maintenant que bash supporte ** ;-) )
          • [^] # Re: pff, seulement 12,5% de gens biens

            Posté par (page perso) . Évalué à 2.

            Il y a la doc aussi :

            $ man bash\t\t
            bash bashbug bash-builtins
            $man zsh\t\t
            zsh zshall zshcalsys zshcompsys zshcontrib zshmisc zshoptions zshroadmap zshzftpsys
            zsh4 zshbuiltins zshcompctl zshcompwid zshexpn zshmodules zshparam zshtcpsys zshzle


            D'ailleurs zsh affiche ces aides mémoires après le prompt courant au lieu de les afficher entre deux prompts et les nettoie ensuite(mais c'est peut être paramètable dans bash).
            • [^] # Re: pff, seulement 12,5% de gens biens

              Posté par (page perso) . Évalué à 2.

              la pan de man de bash est bien faite et précise. Quel est l'intérêt d'avoir 20 pages différentes? Avec une seule page, je fais une recherche et j'arrive directement au point qui m'intéresse.
              • [^] # Re: pff, seulement 12,5% de gens biens

                Posté par (page perso) . Évalué à 3.

                Tu as zshall si tu veux le tout. C'est juste que zsh à plus de fonctionnalités et plus de documentation, du coups c'est pratique d'avoir des sujets précis traités dans un man dédié. Note que bash sépare aussi la doc pour les commandes internes et les bogues.


                % man zshall|wc -l
                23198
                % man bash|wc -l
                4924
                % man bash-builtins|wc -l
                1415
                % man bashbug|wc -l
                55
          • [^] # Re: pff, seulement 12,5% de gens biens

            Posté par . Évalué à 4.

            Bash ne supporte à ma connaissance pas les globbing qualifiers que ce soit 3.* ou 4.*. Dans mon exemple, *(.) ne match que les fichiers plats (ie. pas de symlink, pas de répertoire, pas de pipes, pas de sockets...) ; à l'inverse, *(/) ne matcherait que les répertoires, *(@) que les symlinks... Ça ne se limite pas au type des fichiers : on peut également ne matcher que les fichiers world-readable, etc. Le tout avec une vraie complétion :
            % ls *(\t
            % -- device files
            ) -- end of qualifiers
            * -- executable plain files
            [...]
          • [^] # Re: pff, seulement 12,5% de gens biens

            Posté par . Évalué à 2.

            Un avantage occasionnel de passer par le globbing zsh au lieu de find, c'est que zsh permet d'effectuer la substitution sur la ligne de commande avant validation (en appuyant sur la touche tabulation lorsque le curseur est à la fin du motif). Du coup, on peut éditer le résultat de la substitution (supprimer des noms de fichiers, typiquement) avant de lancer la commande. En gros ça ajoute l'interactivité au résultat de la recherche.

            Un exemple idiot pour illustrer : pour supprimer certains fichiers générés par la compilation d'un document LaTeX truc.tex, je peux commencer à taper "rm truc.*" puis appuyer sur tabulation, puis éditer la commande pour effacer le nom truc.tex (et truc.pdf tant qu'on y est) et enfin appuyer sur la touche Entrée.
      • [^] # Re: pff, seulement 12,5% de gens biens

        Posté par (page perso) . Évalué à 8.


        C'est peut-être que windows marche très bien, et qu'il est standard sur la plupart
        des ordinateurs? J'utilise windows tous les jours, et vu l'activisme des fanboys
        de linux, j'ai regardé la feature list plus d'une fois; mais franchement, je vois
        pas ce qui est indispensable et me pousserait à changer. Utiliser linux a aussi un
        coût: il n'est pas disponible partout, et dans ces cas il faut se remettre à
        windows.


        \o/
      • [^] # Re: pff, seulement 12,5% de gens biens

        Posté par (page perso) . Évalué à 1.

        Personnellement, je dis essaie. C'est pas bien long à tester et on comprend vite.

        Le plus long la première fois c'est configurer la complétion pour qu'elle nous plaise, personnellement la mienne fait le café, je peux être manchot du clavier elle trouve toujours ce que je voulais dire(*), je n'en dirais pas autant de bash. Du coup, ça fait bien plus plaisir d'ouvrir un zsh qu'un bash pour bidouiller quoique ce soit dans la console, et ça augmente ma productivité !

        Après j'aime beaucoup les prompt qu'on peut avoir avec zsh, notamment et les choses façon ** (mais bon bash se met aussi à jour petit à petit... En fait il rattrape zsh avec qq années de retard quoi... mais c'est pas encore ça).

        Du coup mon shell est un zsh, mais la plupart de mes scripts restent du bash histoire que ca fonctionne ailleurs. Bref je profite dans ma vie de tous les jours des apports de zsh, et c'est ça l'important, se faciliter la vie quand on peut, c'est quand même mieux !

        *: faute de frappe, oublis, majuscule/minuscule, inversions de lettres, tab pour ne pas avoir besoin de lire la doc, etc.
  • # raté le 666

    Posté par (page perso) . Évalué à -2.

    Bouh, j'ai raté le 666 vote pour "bash".

    Bon, bashé pas grave ...

    Administrateur de http://www.magdales.com ; papa de 3 enfants : Siloé, Apolline et Maxime

  • # csh

    Posté par . Évalué à 1.

    J'ai adoré écrire des script en csh.

    Malheureusement, j'ai actuellement bash par défaut au boulot.
  • # bash 4 est arrivé !

    Posté par (page perso) . Évalué à 3.

    J'ai utilisé sh, ksh et bash et j'ai essayé csh et zsh. Je reproche aux deux dernier leur exotisme. Finalement, le meilleur, c'est celui qu'on trouve partout, c'est bash.
    De plus bash4 va rendre obsolète tous les autres ! Quoi, c'est un troll ? Pas si sûr... ;-)
  • # dmenu

    Posté par . Évalué à 1.

    J'ai découvert dmenu, et c'est vraiment ce dont j'avais besoin.

    Contrairement à Katapult, c'est léger. De plus, après avoir entré quelques lettres, on peut choisir les commandes qui correspondent à ces lettres dans une liste (avec Katapult, seule la première commande trouvée peut être lancé).

    Du coup, j'ai plus besoin de chercher dans le bazar du menu démarrer, ni d'ouvrir un terminal pour lancer une commande.

    Est-ce un shell ? d'après wikipedia, on peut dire que oui : In either category the primary purpose of the shell is to invoke or "launch" another program; however, shells frequently have additional capabilities such as viewing the contents of directories.
    • [^] # Re: dmenu

      Posté par (page perso) . Évalué à 1.

      essaye gmrun, c'est vraiment efficace dans le genre. La completion automatique de dmenu étant vraiment minimaliste.
      • [^] # Re: dmenu

        Posté par . Évalué à 1.

        J'aime bien la complétion automatique de dmenu, et je ne vois pas ce qui pourrait manquer.

        J'ai fait ma propre liste de commandes plutôt que d'utiliser dmenu_path, et je l'enrichis au fur et à mesure de mes besoins. Comme cela, la liste de suggestions ne contient pas de commandes inutiles.

        Une commande peut être composée de plusieurs arguments, donc je peux taper "roo" et avoir comme suggestion ma commande "thunar /root"

        Autre chose, dmenu "capture" le clavier, ce qui évite de perte le focus, par exemple quand on lance plusieurs programmes à la suite.
  • # Pour moi

    Posté par . Évalué à 3.

    Mon Shell préféré c'est celui de la rue Millaud, mais j'y vais pas trop, l'essence est plus chère que chez Elf.
    Voilà, voilà....
  • # Petite correction

    Posté par . Évalué à 1.

    command.com n'est plus utilisé, il faut plus parler de cmd.exe, qui bien que limité comme son ancêtre, dispose quand même des commande NET.
    Vous ne parlez pas non plus du powershel fourni avec Windows 2008 serveur. Très ressemblant au ksh, c'est un gros progrès de microsoft (enfin!). Je n'ai pas eu le temps de l'utiliser à 100%, mais ça m'a l'air d'un shell intéressant.

    Personnellement, j'ai une préférence pour le ksh, mais j'aime bien le bash aussi :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.