Zsh version 4.0.1 disponible

Posté par  . Modéré par Fabien Penso.
Étiquettes :
0
2
juin
2001
Ligne de commande
Après 5 (cinq !) ans de développement, la version 4 du plus complet des interpréteurs de commande vient enfin d'être rendue disponible. Son système de complétion est impressionnant, le globbing supporte les approximations et la récursivité en il dispose d'un système de plug-ins (comme le module "FTP"). Enfin, il est conforme POSIX, supporte pratiquement toutes les extensions de KSH, TCSH et Bash 2 (auquel il se substitue parfaitement) ainsi que de nombreuses améliorations comme le calcul en virgule flotante.

Aller plus loin

  • # Mais fait-il le café ?

    Posté par  . Évalué à -1.

    M'en fous, j'en bois pas.
    C'est pour donner la première réponse... ;)
    Allez, quoi un peu d'humour dans ce monde de crotte.
  • # c'est pas pour faire le semnopithèque mais..

    Posté par  . Évalué à 1.

    et à part ça, quels sont les inconvénients (à part qu'il ne soit pas en GPL mais en licence BSD) ? aucun ?

    ça donne quoi utilisation des ressources système, par exemple ?
    • [^] # Re: c'est pas pour faire le semnopithèque mais..

      Posté par  . Évalué à 1.

      semnopithèque nom masculin
      (grec sêmnos, vénérable, et pithêkos, singe)
      Grand singe des forêts d'Asie, vivant en bande. (Long. 75 cm sans la queue.)
      (c) Larousse.

      On en apprends des choses sur Liunxfr...
    • [^] # Non, puisque c'est pour faire le troll

      Posté par  (site web personnel) . Évalué à 1.

      Et en quoi est-ce un inconvenient, que ce soit en BSD plutot qu'en GPL ?

      Mais bon, de toute facon, cette remarque n'est la que dans l'objectif de lancer un troll, alors autant y aller franchement.
      • [^] # t'es qui toi ?

        Posté par  . Évalué à 1.

        T'as l'impression de répondre, rien qu'un instant, à la question que j'ai posé ?

        Passons. Oui, la licence GPL me semble plus claire que la licence BSD modifiée. Je pense que l'affaire IP Filter (licence BSD *modifiée* non ? (cf interviews de BSDTODAY : "Your code indicates a BSD-type license ...")) est particulièrement explicite.

        Je ne vois pas où se trouve le troll : tu seras bien gentil de me le signaler explicitement. Si tu le peux, ce dont je doute fort, ayant l'impression très nette que ce terme troll n'a, une fois de plus, trouvé sa place ici que pour dénigrer la qualité d'interrogation à mon propos, et ainsi me dénigrer purement et simplement en tant qu'interlocuteur. Méthode douteuse.
        • [^] # Re: t'es qui toi ?

          Posté par  (site web personnel) . Évalué à 1.

          quels sont les inconvénients (à part qu'il ne soit pas en GPL mais en licence BSD)

          1. Je ne répondais pas réellement, mais je reagissait à ce point.

          2. Tu ne parles pas ici de licence BSD modifiée, mais de licence BSD. Si je te ponds une licence GPL modifiée, elle sera tout aussi dangeureuse qu'une BSD modifiée.

          3. Je ne tente pas de te dénigrer, je ne te connais pas et n'ai pas envie de te connaitre, je n'en ai strictement rien a faire de savoir qui tu es, ce point m'a choqué, je réagis.

          4. Pour le troll, disons qu'apres une lecture de ton premier message, et cette affirmation sur la licence BSD, j'ai l'impression que tu ne cherches qu'a recevoir un maximum de reponses enflammées.

          5. Euh, non, rien.
          • [^] # Re: t'es qui toi ?

            Posté par  . Évalué à -1.

            j'ai faim.
          • [^] # Re: t'es qui toi ?

            Posté par  . Évalué à 1.

            « 2. Tu ne parles pas ici de licence BSD modifiée, mais de licence BSD. Si je te ponds une licence GPL modifiée, elle sera tout aussi dangeureuse qu'une BSD modifiée. »

            On parle généralement de BSD modifiée par ce que la BSD originale est incompatible avec la GPL
            http://www.gnu.org/philosophy/license-list.html(...)

            « 3. Je ne tente pas de te dénigrer, je ne te connais pas et n'ai pas envie de te connaitre, je n'en ai strictement rien a faire de savoir qui tu es, ce point m'a choqué, je réagis. »

            Communiquer, c'est une démarche permettant de découvrir les autres. Donc si tu n'a pas envie de *me* connaitre (plutot de connaitres des points de vue différents dont le miens), je doute que tu puisse participer à une discussion qui n'ai pas une tournure agressive, voire stélrile.

            « 4. Pour le troll, disons qu'apres une lecture de ton premier message, et cette affirmation sur la licence BSD, j'ai l'impression que tu ne cherches qu'a recevoir un maximum de reponses enflammées. »

            A nouveau, contrairement à une idée très répandue sur les forums sur internet, lorsqu'on discute, l'objectif n'est pas de se poser en devin qui prétend connaitre les désirs des autres mais d'expliquer son point de vue à soi.
  • # avantage par rapport au bash ?

    Posté par  . Évalué à 1.

    Quels sont les avantages par rapport au bash ?
    • [^] # Re: avantage par rapport au bash ?

      Posté par  . Évalué à -1.

      C'est moins long de changer si on est sous tun autre shell: il suffit de taper 3 lettres au lieu de 4.

      hop, -1
    • [^] # Re: avantage par rapport au bash ?

      Posté par  (site web personnel) . Évalué à 1.

      Entre autres, la complétion est bien mieux foutue, il sait corriger les commandes :

      glaurent@linux3:c> ls dltest3.c
      zsh: correct 'dltest3.c' to 'dltest2.c' [nyae]?

      glaurent@linux3:c> lesss dltest.c
      zsh: correct 'lesss' to 'less' [nyae]?

      et d'une manière plus générale, il y a beaucoup plus de features.
    • [^] # Re: avantage par rapport au bash ?

      Posté par  . Évalué à 2.

      ------------
      ZSH FEATURES
      ------------

      very close to ksh/sh grammar, with csh additions
      most features of ksh, bash, and tcsh
      can emulate ksh or POSIX sh
      100 builtins, 145 options, 166 key bindings
      short for loops, ex: for i (*.c) echo $i
      select
      shell functions
      autoloaded functions (loaded from a file when they are first referenced)
      conditional expressions (test builtin, [ ... ], and ksh-style [[ ... ]])
      global aliases (may be expanded anywhere on the line)
      directory stack access with ~num
      process substitution (vi =(cmd) edits the output of cmd)
      generalized pipes (ls foo >>(cmd1) 2>>(cmd2) pipes stdout to cmd1
      and stderr to cmd2)
      arithmetic expressions
      advanced globbing:
      ls **/file searches recursively for "file" in subdirectories
      ls file<20-> matches file20, file30, file100, etc.
      ls *.(c|pro) matches *.c and *.pro
      ls *(R) matches only world-readable files
      ls *.c~lex.c matches all .c files except lex.c
      ls (#a1)README matches README with one error, e.g. RADME, REEDME, RAEDME
      ls (#ia1)README same but case insensitive
      qualifiers in parentheses after globbing expression:
      ls *(*@) matches executable files/directories or symlinks
      ls *(L0f.go-w.) matches all zero-length files not group or world writable
      ls *(om[2]) matches the two most recently modified files
      null command shorthands:
      "< file" is same as "more <file"
      "> file" is same as "cat >file"
      ">> file" is same as "cat >>file"
      ksh-style coprocesses
      automatic file stream teeing (ls >foo >bar puts output in two places)
      chpwd() function run every time you change directory (useful for
      updating the status line)
      job control
      csh-style history
      full vi line editing, including "c2w" and "y$" and such things
      full emacs line editing
      line editor is programmable via shell functions
      - access and manipulate editor state via builtins and parameters
      - user-defined `widgets' behave like other editor functions

      - keymap customisation
      - example functions provided
      incremental history search
      magic-space history
      spelling correction
      array parameters
      associative array parameters
      tie parameters a la path/PATH, e.g. ld_library_path/LD_LIBRARY_PATH
      $MACHTYPE, $VENDOR and $OSTYPE identify the host machine
      $LINENO, $RANDOM, $SECONDS, $cdpath, $COLUMNS, $fignore, $HISTCHARS, $mailpath
      $UID, $EUID, $GID, $EGID and $USERNAME can be assigned to
      with autocd option, typing a directory name by itself is the same as
      typing "cd dirname"
      incremental path hashing
      automatic process time reporting for commands that run over a certain limit
      full tcsh-style prompt substitution plus conditional prompt expressions
      utmp login/logout reporting
      with histverify option, performing csh-style history expansions causes the
      input line to be brought up for editing instead of being executed
      with sunkeyboardhack option, accidentally typed trailing ` characters
      are removed from the input line (for those of you with Sun keyboards :-) )
      "cd old new" replaces "old" with "new" in directory string
      generalized argument completion, new system based on shell functions:
      - highly context sensitive
      - large (and I mean large) set of completions supplied, from a2ps to zstyle
      - partial file path completion
      - spelling correction and approximate completion of any completable word
      - highly configurable expansion of shell arguments
      - completion list colouring [`colorizing' for you lot over there]
      - selection of completion elements with the cursor
      - full scrolling of lists (in optional module)
      - completion of words from the history list
      - `styles' feature for versatile configuration
      - `tags' feature for choosing completions preferentially
      - `match' specifications, allowing e.g.
      - variant forms: NO_glob, noglob, _NOGLOB_ all from the keyword glob
      - partial-word matches with arbitrary anchors, e.g.
      z_t.c -> zle_tricky.c
      c.u.s -> comp.unix.shell
      - complete control over case-insensitive matching
      - can be defined globally or for individual completions
      - bindable special completion functions
      menu completion: pressing TAB repeatedly cycles through the possible matches
      prompt on right side of screen
      directory stacks
      history datestamps and execution time records
      command scheduling (like at(1), but in the shell's context)
      history datestamps and execution time records
      command scheduling (like at(1), but in the shell's context)
      tty mode freezing
      up to 9 startup files (but you only need 1 or 2)
      really 8-bit clean, and we mean it this time
      which -a cmd lists all occurrences of "cmd" in the path
      floating point support
      dynamically loadable binary modules, supplied modules include
      - an FTP client which runs in the shell, with function suite
      - math functions
      - builtin interface to the `stat' system command
      - builtin versions of standard commands (mv, ln, etc.) for emergencies
      - special parameters to access internal state of hash tables etc.
      - special associative array to access contents of files directly
      - profiler for shell functions
      - a pseudo-terminal handler, for purposes like `expect'
      - builtins for interaction with termcap and terminfo
  • # ça compile chez vous ?

    Posté par  . Évalué à 0.

    C'est normal que gcc 2.95.3 sur une Debian Potato n'arrive pas à le compiler ?

    gcc -s -rdynamic -o zsh main.o `cat stamp-modobjs` -ldl -lnsl -lm -lc
    init.o: In function `init_term':
    init.o(.text+0xc47): undefined reference to `tgetent'
    init.o(.text+0xce2): undefined reference to `tgetstr'
    init.o(.text+0xd95): undefined reference to `tgetflag'
    init.o(.text+0xda7): undefined reference to `tgetnum'
    init.o(.text+0xdbc): undefined reference to `tgetnum'
    prompt.o: In function `tsetcap':
    prompt.o(.text+0x14ec): undefined reference to `tputs'
    prompt.o(.text+0x152e): undefined reference to `tputs'
    prompt.o(.text+0x1567): undefined reference to `tgetnum'
    collect2: ld returned 1 exit status
    make[1]: *** [zsh] Error 1
    make[1]: Leaving directory `/usr/local/src/zsh-4.0.1/Src'

Suivre le flux des commentaires

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