(je suis conscient que ça va frôler le troll, alors on va tâcher de rester
calmes pour ne pas le réveiller :)
Voilà un moment que je m'investis de façon grandissante dans Unix (Linux,
OSX ou QNX) et je m'interroge sur le choix du shell sur un système.
J'ai l'habitude principalement de bash sous Linux, et dans une moindre
mesure [t]csh sur Mac/qnx. Parce que ce sont les shells par défaut
certainement.
À la lecture (périodique) de ce groupe il me semble que souvent zsh est
cité comme meilleure alternative au bash.
En dehors de (simples) considération de goût, est-ce que zsh est
préférable ?
Je crois me rappeler avoir vu ici-même des remarques sur le fait que
développement de bash était plutôt gelé ? Est-ce qu'alors zsh c'est
l'avenir ?
Comme je le disais, je me considère encore en phase d'apprentissage, aussi
vaut-il mieux pour moi investir du temps sur zsh ?
Existe-t-il de la littérature à conseiller sur zsh à la manière du guide
Advanced Bash Scripting ?
Merci de vos avis, dans la limite du raisonnable :)
Je viens de tester, mais je ne comprend pas ni ne vois quelque chose de changé à la saisie... Est-ce dû au french-keyboard-accept-line et au fait que je tapes présentement sur mon Mac avec un mapping différent ?
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Sebastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> écrit:
Je viens de tester, mais je ne comprend pas ni ne vois quelque chose de
changé à la saisie... Est-ce dû au french-keyboard-accept-line et au fait
que je tapes présentement sur mon Mac avec un mapping différent ?
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre
guillements ce qui évite l'execution de la première commande venue.
Je viens de tester, mais je ne comprend pas ni ne vois quelque chose de changé à la saisie... Est-ce dû au french-keyboard-accept-line et au fait que je tapes présentement sur mon Mac avec un mapping différent ?
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Sebastien Kirche
On 21 Jul 2004, Thomas Nemeth wrote:
'lut Thomas [1] ;)
J'ai récupéré un clavier type 6 azerty pour ma Sun, mais je me demande même si je ne vais pas remettre le type 5 qwerty d'origine juste pour cela...
J'ai gardé les qwerty sur mes Sparcs : si ce n'est pas très pratique pour le français, en revanchem c'est idéal pour coder. Et puis on n'a pas à se faire chier pour le map du clavier ;-)
Et je pourrais alors peut-être mettre le type 6 sur le pécé ?
Faut que j'essaie de le brancher. Comme ça je pourrais avoir une vraie touche compose :)
Footnotes: [1] Au fait tu n'as plus de connexion rapide ? Depuis ton déménagement on ne te vois plus...
Sébastien Kirche
On 21 Jul 2004, Thomas Nemeth wrote:
'lut Thomas [1] ;)
J'ai récupéré un clavier type 6 azerty pour ma Sun, mais je me demande
même si je ne vais pas remettre le type 5 qwerty d'origine juste pour
cela...
J'ai gardé les qwerty sur mes Sparcs : si ce n'est pas très pratique
pour le français, en revanchem c'est idéal pour coder. Et puis on
n'a pas à se faire chier pour le map du clavier ;-)
Et je pourrais alors peut-être mettre le type 6 sur le pécé ?
Faut que j'essaie de le brancher.
Comme ça je pourrais avoir une vraie touche compose :)
Footnotes:
[1] Au fait tu n'as plus de connexion rapide ? Depuis ton déménagement on
ne te vois plus...
J'ai récupéré un clavier type 6 azerty pour ma Sun, mais je me demande même si je ne vais pas remettre le type 5 qwerty d'origine juste pour cela...
J'ai gardé les qwerty sur mes Sparcs : si ce n'est pas très pratique pour le français, en revanchem c'est idéal pour coder. Et puis on n'a pas à se faire chier pour le map du clavier ;-)
Et je pourrais alors peut-être mettre le type 6 sur le pécé ?
Faut que j'essaie de le brancher. Comme ça je pourrais avoir une vraie touche compose :)
Footnotes: [1] Au fait tu n'as plus de connexion rapide ? Depuis ton déménagement on ne te vois plus...
Sébastien Kirche
Sebastien Kirche
On 21 Jul 2004, Laurent Wacrenier wrote:
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle goudurix% * french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh.
Sébastien Kirche
On 21 Jul 2004, Laurent Wacrenier wrote:
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre
guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle
goudurix% *
french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh.
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle goudurix% * french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh.
Sébastien Kirche
Stephane Chazelas
2004-07-21, 11:23(+02), Sebastien Kirche:
On 21 Jul 2004, Laurent Wacrenier wrote:
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle goudurix% * french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh. [...]
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
-- Stephane
2004-07-21, 11:23(+02), Sebastien Kirche:
On 21 Jul 2004, Laurent Wacrenier wrote:
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre
guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle
goudurix% *
french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh.
[...]
Tu dois avoir un assez vieux zsh. Note que la derniere version
est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les
versions de developpement, encore que je ne sois pas sur qu'ils
aient commencé)
Quand tu tapes "*" puis Entrée après le prompt, l'"*" est mis entre guillements ce qui évite l'execution de la première commande venue.
Ah bon. Mais il me manquait de toutes façons le chargement de zle (?).
Maintenant j'ai ça :
goudurix% autoload -U zle goudurix% * french-keyboard-accept-line:3: zle: function definition file not found
Visiblement il en manque encore niveau config de zsh. [...]
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
-- Stephane
Sebastien Kirche
On 21 Jul 2004, Stephane Chazelas wrote:
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ?
Sébastien Kirche
On 21 Jul 2004, Stephane Chazelas wrote:
Tu dois avoir un assez vieux zsh. Note que la derniere version
est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les
versions de developpement, encore que je ne sois pas sur qu'ils
aient commencé)
goudurix% echo $ZSH_VERSION
4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne
fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très
bien ? Il faut toucher à la keymap de zle ?
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ?
Sébastien Kirche
Stephane Chazelas
2004-07-21, 15:10(+02), Sebastien Kirche:
On 21 Jul 2004, Stephane Chazelas wrote:
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Voila qui est etonnant,
zle est une builtin du module zle qui est censé etre chargé par defaut depuis les versions 3.1.
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ? [...]
Ca peut arriver si tu as des problemes de terminfo/termcap. Verifie que ton $TERM est bien reconnu par ton systeme. bash doit faire un minimum de suppositions sur ton terminal quand il ne le trouve pas dans les bases du system. zsh le considere comme "dumb".
-- Stephane
2004-07-21, 15:10(+02), Sebastien Kirche:
On 21 Jul 2004, Stephane Chazelas wrote:
Tu dois avoir un assez vieux zsh. Note que la derniere version
est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les
versions de developpement, encore que je ne sois pas sur qu'ils
aient commencé)
goudurix% echo $ZSH_VERSION
4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Voila qui est etonnant,
zle est une builtin du module zle qui est censé etre chargé par
defaut depuis les versions 3.1.
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne
fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très
bien ? Il faut toucher à la keymap de zle ?
[...]
Ca peut arriver si tu as des problemes de terminfo/termcap.
Verifie que ton $TERM est bien reconnu par ton systeme.
bash doit faire un minimum de suppositions sur ton terminal
quand il ne le trouve pas dans les bases du system. zsh le
considere comme "dumb".
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Voila qui est etonnant,
zle est une builtin du module zle qui est censé etre chargé par defaut depuis les versions 3.1.
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ? [...]
Ca peut arriver si tu as des problemes de terminfo/termcap. Verifie que ton $TERM est bien reconnu par ton systeme. bash doit faire un minimum de suppositions sur ton terminal quand il ne le trouve pas dans les bases du system. zsh le considere comme "dumb".
-- Stephane
Laurent Wacrenier
Sebastien Kirche écrit:
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Ça fonctionne sur zsh 4.1.1 sous FreeBSD, sans fichier d'initialisation (zsh -f)
Il faut juste un "setopt EXTENDED_GLOB" pour que le motif avec les # et les ## vérifie ce qu'il faut. Mais il n'y a pas d'erreur affichée.
C'est juste au cas où on a appuyé plus ou moins longuement sur la touche espace ou *. On peut remplacer la ligne par *) zle .quote-line ;;
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ?
Qui ne fonctionne pas, c'est à dire ?
Que dit ESC-k ou Ctrl-V suivi de la touche ? La définition du terminal est t'elle cohérente ?
Sebastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> écrit:
Tu dois avoir un assez vieux zsh. Note que la derniere version
est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les
versions de developpement, encore que je ne sois pas sur qu'ils
aient commencé)
goudurix% echo $ZSH_VERSION
4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Ça fonctionne sur zsh 4.1.1 sous FreeBSD, sans fichier
d'initialisation (zsh -f)
Il faut juste un "setopt EXTENDED_GLOB" pour que le motif avec les #
et les ## vérifie ce qu'il faut. Mais il n'y a pas d'erreur affichée.
C'est juste au cas où on a appuyé plus ou moins longuement sur la
touche espace ou *. On peut remplacer la ligne par
*) zle .quote-line ;;
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne
fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très
bien ? Il faut toucher à la keymap de zle ?
Qui ne fonctionne pas, c'est à dire ?
Que dit ESC-k ou Ctrl-V suivi de la touche ?
La définition du terminal est t'elle cohérente ?
Tu dois avoir un assez vieux zsh. Note que la derniere version est la 4.2.<quelquechose> (voire 4.3.<quelquechose> pour les versions de developpement, encore que je ne sois pas sur qu'ils aient commencé)
goudurix% echo $ZSH_VERSION 4.1.1
(sur OSX 10.3.4 mais j'ai le même résultat sur ma Sun qui a le 4.2.0)
Ça fonctionne sur zsh 4.1.1 sous FreeBSD, sans fichier d'initialisation (zsh -f)
Il faut juste un "setopt EXTENDED_GLOB" pour que le motif avec les # et les ## vérifie ce qu'il faut. Mais il n'y a pas d'erreur affichée.
C'est juste au cas où on a appuyé plus ou moins longuement sur la touche espace ou *. On peut remplacer la ligne par *) zle .quote-line ;;
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ?
Qui ne fonctionne pas, c'est à dire ?
Que dit ESC-k ou Ctrl-V suivi de la touche ? La définition du terminal est t'elle cohérente ?
Sebastien Kirche
On 21 Jul 2004, Stephane Chazelas wrote:
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ? [...]
Ca peut arriver si tu as des problemes de terminfo/termcap. Verifie que ton $TERM est bien reconnu par ton systeme. bash doit faire un minimum de suppositions sur ton terminal quand il ne le trouve pas dans les bases du system. zsh le considere comme "dumb".
Marrant ça : sur la Sun à distance echo $TERM m'a renvoyé "xterm-color" ?? Sur le Mac en local j'ai eu le même résultat.
En fait dans les préférences du terminal, il u a un popup «Déclarer le type de terminal ($TERM) comme» qui contient : - ansi - rxvt - vt52 - vt100 - vt102 - xterm - xterm-color
Je ne sais pas comment il s'est positionné là dessus. Peut-être que Apple considère le terminal comme un xterm ? C'est vrai qu'en fenêtre il en remplit les fonctions, alors même qu'il n'y a pas de X en cours...
Par contre je remarque aussi que j'ai un souci de touche backspace qui
ne fonctionne pas via ssh, alors que sans changer de conf bash
fonctionne très bien ? Il faut toucher à la keymap de zle ?
[...]
Ca peut arriver si tu as des problemes de terminfo/termcap.
Verifie que ton $TERM est bien reconnu par ton systeme.
bash doit faire un minimum de suppositions sur ton terminal
quand il ne le trouve pas dans les bases du system. zsh le
considere comme "dumb".
Marrant ça : sur la Sun à distance echo $TERM m'a renvoyé "xterm-color" ??
Sur le Mac en local j'ai eu le même résultat.
En fait dans les préférences du terminal, il u a un popup «Déclarer le type
de terminal ($TERM) comme» qui contient :
- ansi
- rxvt
- vt52
- vt100
- vt102
- xterm
- xterm-color
Je ne sais pas comment il s'est positionné là dessus. Peut-être que Apple
considère le terminal comme un xterm ? C'est vrai qu'en fenêtre il en
remplit les fonctions, alors même qu'il n'y a pas de X en cours...
Par contre je remarque aussi que j'ai un souci de touche backspace qui ne fonctionne pas via ssh, alors que sans changer de conf bash fonctionne très bien ? Il faut toucher à la keymap de zle ? [...]
Ca peut arriver si tu as des problemes de terminfo/termcap. Verifie que ton $TERM est bien reconnu par ton systeme. bash doit faire un minimum de suppositions sur ton terminal quand il ne le trouve pas dans les bases du system. zsh le considere comme "dumb".
Marrant ça : sur la Sun à distance echo $TERM m'a renvoyé "xterm-color" ?? Sur le Mac en local j'ai eu le même résultat.
En fait dans les préférences du terminal, il u a un popup «Déclarer le type de terminal ($TERM) comme» qui contient : - ansi - rxvt - vt52 - vt100 - vt102 - xterm - xterm-color
Je ne sais pas comment il s'est positionné là dessus. Peut-être que Apple considère le terminal comme un xterm ? C'est vrai qu'en fenêtre il en remplit les fonctions, alors même qu'il n'y a pas de X en cours...
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
La définition du terminal est t'elle cohérente ?
Je crois que non, comme je l'ai indiqué dans mon autre réponse. Ça colle avec rxvt, mais je ne sais pas si c'est la meilleure valeur.
Sébastien Kirche
On 21 Jul 2004, Laurent Wacrenier wrote:
Qui ne fonctionne pas, c'est à dire ?
Pardon je me suis mal exprimé, je voulais dire n'a pas d'effet. Peut-être
un bip, mais à 13 km de distance je n'entend pas :)
Et j'ai oublié de dire que les ctrl-h ou ctrl-w standards fonctionnaient.
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace
qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
La définition du terminal est t'elle cohérente ?
Je crois que non, comme je l'ai indiqué dans mon autre réponse.
Ça colle avec rxvt, mais je ne sais pas si c'est la meilleure valeur.
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
La définition du terminal est t'elle cohérente ?
Je crois que non, comme je l'ai indiqué dans mon autre réponse. Ça colle avec rxvt, mais je ne sais pas si c'est la meilleure valeur.
Sébastien Kirche
Laurent Wacrenier
Sebastien Kirche écrit:
Et j'ai oublié de dire que les ctrl-h ou ctrl-w standards fonctionnaient.
Que dit Ctrl-V Ctrl-H ?
Que dit ESC-k ou Ctrl-V suivi de la touche ?
esc-k backspace -> rien
lance bindkey '^[k' describe-key-briefly avant
ctrl-v backspace -> insère ^?
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
Les terminaux, sinon les installateurs qui redéfinissent le clavier avec leurs préférences.
bindkey "^?" backward-delete-char
deux caractères pour ^?
Sebastien Kirche <sebastien.kirche.no@spam.free.fr.invalid> écrit:
Et j'ai oublié de dire que les ctrl-h ou ctrl-w standards fonctionnaient.
Que dit Ctrl-V Ctrl-H ?
Que dit ESC-k ou Ctrl-V suivi de la touche ?
esc-k backspace -> rien
lance
bindkey '^[k' describe-key-briefly
avant
ctrl-v backspace -> insère ^?
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace
qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
Les terminaux, sinon les installateurs qui redéfinissent le clavier
avec leurs préférences.
Et j'ai oublié de dire que les ctrl-h ou ctrl-w standards fonctionnaient.
Que dit Ctrl-V Ctrl-H ?
Que dit ESC-k ou Ctrl-V suivi de la touche ?
esc-k backspace -> rien
lance bindkey '^[k' describe-key-briefly avant
ctrl-v backspace -> insère ^?
Ah oui, je crois me rappeler avoir vu des fils qui parlaient de backspace qui renvoie ^h ou ^? suivant le terminal ? Là ça doit être la mauvaise valeur.
Les terminaux, sinon les installateurs qui redéfinissent le clavier avec leurs préférences.