Une page intéressante: http://www.softpanorama.org/Scripting/Shellorama/portability.shtml Reste à connaître les différences entre les différentes commandes sed, awk, etc. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
On 2006-02-07 13:36:59 +0100, Marc Chantreux wrote:
Vincent Lefevre wrote:
Une page intéressante
qui me refait me poser la question de la pertinence d'écrire un script shell lorsque le besoin de portabilité est réel.
Tout à fait. Maintenant, quand il y a besoin de portabilité: _ j'écris tout de préférence en Perl (notamment si des signaux doivent être trappés); _ du /bin/sh dans certains cas simples, où le Perl ne serait pas forcément très pratique (e.g. quand il y a beaucoup de globbing ou de manipulations de fichiers comme un tout, ou quand on doit lancer une série de commandes[*]); _ en zsh via un "#!/usr/bin/env zsh" quand en plus il y a besoin de globbing avancé et si une portabilité relative (zsh installé) est suffisante. File::Find peut rendre des services en Perl, mais c'est parfois lourd, et la clarté/concision d'un script, c'est tout de même important. [*] http://www.vinc17.org/mutt/smutt en est un exemple (pour lancer Mutt dans un screen ou récupérer une session en cours, tout en gérant les problèmes de locales et l'affichage au bon endroit). -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Mmes pratiques ici. je fais de moins en moins de perl depuis que j'utilise zsh.
[*] http://www.vinc17.org/mutt/smutt en est un exemple (pour lancer Mutt dans un screen ou récupérer une session en cours, tout en gérant les problèmes de locales et l'affichage au bon endroit).
if [ "x$1" = "x--" ]; then shift exec mutt ${@+"$@"} exit fi pourquoi tu fais un exit derrière un exec ? sinon ... j'ai rien compris a la partie avec les stty (en fait : jamais rien compris a stty). puisqu'on déballe nos recettes de cuisine (j'adore ca) : s () { case $1 in # lancer screen ... 'g'|'go' ) # exemple : # j'utilise habituellement un screen I pour mes applications # internet. # je m'y connecte par s g I # si I n'existe pas, il est créé [ -n "$2" ] && screen -RDS $2 || screen -r || screen ;; 'r'|'root' ) screen -t root sudo -s ;; 'm'|'mail' ) screen -t mail mutt $*[2,-1] ;; 'i'|'irc' ) screen -t irc irssi ;; 'f'|'ftp' ) screen -t ftp lftp ;; 'd'|'doc' ) screen -t "doc:$*[2,-1]" info $*[2,-1] ;; 'e'|'edit' ) screen -t "${*[-1]:t}" ${EDITOR:-editor} $*[2,-1] ;; # 't'|'tail' ) screen -t "${*[-1]:t}" tail -fn0 $*[2,-1] ;; 's'|'ssh' ) # a rectifier pour zapper tous les parametres screen -t "$*[2,-1]" ssh $*[2,-1] ;; *) screen $@ esac } cordialement mc
On 2006-02-07 15:27:10 +0100, Marc Chantreux wrote:
[*] http://www.vinc17.org/mutt/smutt en est un exemple (pour lancer Mutt dans un screen ou récupérer une session en cours, tout en gérant les problèmes de locales et l'affichage au bon endroit).
if [ "x$1" = "x--" ]; then shift exec mutt ${@+"$@"} exit fi
pourquoi tu fais un exit derrière un exec ?
Je n'étais pas sûr qu'exec fasse sortir du shell si mutt n'est pas trouvé (encore une spécificité des shells).
sinon ... j'ai rien compris a la partie avec les stty (en fait : jamais rien compris a stty).
"mesg n" pour ne pas recevoir de messages sur le terminal (je ne sais pas si c'est utile ici, mais au cas où...). "stty susp undef" pour éviter que Ctrl-Z ne suspende les processus. "stty -parenb -istrip cs8" pour que les caractères 8 bits passent (de nos jours, ce n'est peut-être plus nécessaire). "stty -ixon" pour que Ctrl-S et Ctrl-Q soient des touches normales au lieu de contrôler le flux. Par exemple, dans un shell, tape "cat", puis "abc^Sdef^Qghi^M" (où ^S = Ctrl-S, etc.). -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Vincent Lefevre wrote:
pourquoi tu fais un exit derrière un exec ? Je n'étais pas sûr qu'exec fasse sortir du shell si mutt n'est pas trouvé (encore une spécificité des shells).
bien vu!
"stty susp undef" pour éviter que Ctrl-Z ne suspende les processus. "stty -parenb -istrip cs8" pour que les caractères 8 bits passent (de nos jours, ce n'est peut-être plus nécessaire).
c'est aussi de base dans les termcaps ,non ?
"stty -ixon" pour que Ctrl-S et Ctrl-Q soient des touches normales au lieu de contrôler le flux. Par exemple, dans un shell, tape "cat", puis "abc^Sdef^Qghi^M" (où ^S = Ctrl-S, etc.).
diantre ... mais en quoi cela peut-il être utile ?
On 2006-02-07 16:29:26 +0100, Marc Chantreux wrote:
Vincent Lefevre wrote:
"stty susp undef" pour éviter que Ctrl-Z ne suspende les processus. "stty -parenb -istrip cs8" pour que les caractères 8 bits passent (de nos jours, ce n'est peut-être plus nécessaire).
c'est aussi de base dans les termcaps ,non ?
?
"stty -ixon" pour que Ctrl-S et Ctrl-Q soient des touches normales au lieu de contrôler le flux. Par exemple, dans un shell, tape "cat", puis "abc^Sdef^Qghi^M" (où ^S = Ctrl-S, etc.).
diantre ... mais en quoi cela peut-il être utile ?
Du temps des vieux terminaux où le débit était tel qu'on avait le temps de voir le texte défiler et qu'on pouvait ainsi arrêter temporairement avec Ctrl-S et reprendre avec Ctrl-Q? Aujourd'hui, on utilise des pagers, style "less". Enfin, ça peut tout de même toujours être utile lors d'une compilation, je suppose. Quoique je crois que xterm est capable d'arrêter l'affichage comme un grand quand on utilise la barre de scrolling. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Du temps des vieux terminaux où le débit était tel qu'on avait le temps de voir le texte défiler et qu'on pouvait ainsi arrêter temporairement avec Ctrl-S et reprendre avec Ctrl-Q? Aujourd'hui, on utilise des pagers, style "less". Enfin, ça peut tout de même toujours être utile lors d'une compilation, je suppose. Quoique je crois que xterm est capable d'arrêter l'affichage comme un grand quand on utilise la barre de scrolling.
j'ignorais tout cela mais tu en fais quoi, du coup, du ctrl-s ctrl-(q ?
On 2006-02-08 08:51:12 +0100, Marc Chantreux wrote:
j'ignorais tout cela mais tu en fais quoi, du coup, du ctrl-s ctrl-(q ?
Sous Mutt, Ctrl-S pour synchroniser la BAL. Sous Emacs, Ctrl-S pour la recherche incrémentale, et Ctrl-Q pour entrer un caractère littéral. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Marc Chantreux <marc.chantreux@ulpmm.u-strasbg.fr> writes:
Sous Mutt, Ctrl-S pour synchroniser la BAL. Sous Emacs, Ctrl-S pour la recherche incrémentale, et Ctrl-Q pour entrer un caractère littéral.
Voila bien qui mériterait une tips ... si nous avions un wiki ou un truc du genre ...
/me siflotte ...
Vous voulez un wiki ? Y a pas de probleme pour ma part, il suffit de demander -- http://asyd.net/home/
Vous voulez un wiki ? Y a pas de probleme pour ma part, il suffit de demander
bahh ... je lance l'idée comme ca. D'un autre coté, si je suis tout seul, je préfère de loin éditer directement mes pages avec vim. pour le moment, j'ai ma petite page (http://khatar.phear.org/code.html) ou je fous mes tips. Nous devons être plusieurs (au moins Vincent et toi) sur cette liste a faire pareil, ce qui n'est pas la solution optimale. Vincent poste des liens et des astuces, je m'y suis moi aussi risqué mais nous pourrions le faire via des pages web rss tout ca ... tips vim, emacs, mutt, shell, m4 ... un fourre-tout pour les amoureux de la tty ?
Marc Chantreux <marc.chantreux@ulpmm.u-strasbg.fr> writes:
Vous voulez un wiki ? Y a pas de probleme pour ma part, il suffit de demander
bahh ... je lance l'idée comme ca. D'un autre coté, si je suis tout seul, je préfère de loin éditer directement mes pages avec vim.
Si je met un dokuwiki (celui que j'utilise partout) et un access svn (qui existe deja) pour les datas, tu pourras editer le wiki en local sur ta machine. Il faut juste un vim utf8 ou jouer de l'iconv. Pour ma part ca me brancherais vraiment un wiki CLI/Shell en effet, noter pas mal de petits trucs sympa et pratique.
pour le moment, j'ai ma petite page (http://khatar.phear.org/code.html) ou je fous mes tips. Nous devons être plusieurs (au moins Vincent et toi) sur cette liste a faire pareil, ce qui n'est pas la solution optimale.
Vincent poste des liens et des astuces, je m'y suis moi aussi risqué mais nous pourrions le faire via des pages web rss tout ca ...
Il a du rss dans dokuwiki :)
tips vim, emacs, mutt, shell, m4 ... un fourre-tout pour les amoureux de la tty ?
Voilà Pour ceux qui ne le connaissent pas, http://asyd.net/home/ utilise un dokuwiki, et j'en suis très content. -- http://asyd.net/home/
Marc Chantreux <marc.chantreux@ulpmm.u-strasbg.fr> writes:
Pour ma part ca me brancherais vraiment un wiki CLI/Shell en effet, noter pas mal de petits trucs sympa et pratique.
nous sommes donc plusieurs, ce qui justifie la mise en place du truc amha.
Ok, je vais ca rapidement (j'espere ce soir). shell.asyd.net (au moins dans un premier temps) ca va a tout le monde ? De toute facon je peux rajouter des ServerAlias bien sur. Quelqu'un a un peu de connaissance CSS ? Que fais pour le theme ? Je prend celui d'asyd.net/home (sidebar) ou celui d'origine (guses.org/home, solaris-fr.org/home entre autres) -- http://asyd.net/home/
Bruno Bonfils wrote:
Ok, je vais ca rapidement (j'espere ce soir). shell.asyd.net (au moins dans un premier temps) ca va a tout le monde ? De toute facon je peux rajouter des ServerAlias bien sur.
shell c'est trop restrictif ... tty ?
Quelqu'un a un peu de connaissance CSS ?
moi :)
Que fais pour le theme ?
pour ma part : ce que tu veux ... (je m'en cogne, je browse avec links ;))
On 2006-02-08 12:00:55 +0100, Bruno Bonfils wrote:
Ok, je vais ca rapidement (j'espere ce soir). shell.asyd.net (au moins dans un premier temps) ca va a tout le monde ? De toute facon je peux rajouter des ServerAlias bien sur.
Oui.
Quelqu'un a un peu de connaissance CSS ?
Moi.
Que fais pour le theme ? Je prend celui d'asyd.net/home (sidebar) ou celui d'origine (guses.org/home, solaris-fr.org/home entre autres)
Une chose importante est de ne pas changer la taille des fontes du texte principal. Rien de plus énervant de voir de nombreux sites fixer les fontes à 80% de la taille choisie par l'utilisateur. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
On 2006-02-08 12:39:34 +0100, Vincent Lefevre wrote:
Une chose importante est de ne pas changer la taille des fontes du texte principal. Rien de plus énervant de voir de nombreux sites fixer les fontes à 80% de la taille choisie par l'utilisateur.
Justement, je viens de voir: http://asyd.net/home/lib/tpl/asyd/design.css qui contient: body { font: 80% "Bitstream Vera Sans", Lucida, Helvetica, Arial, sans-serif; [...] } Qu'est-ce que c'est que cette manie? Avec Firefox, je ne le vois plus vraiment, car j'ai un html, body { font-size: medium !important } dans mon userContent.css, mais quand je suis avec Opera sur mon Zaurus, les fontes deviennent difficilement lisibles... Avec Opera sous Linux, j'obtiens l'image attachée; dans une haute résolution, comme celle que j'ai (1600x1200), c'est tout petit! C'est pire avec le Zaurus, car c'est un écran de PDA... -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Vincent Lefevre <vincent@vinc17.org> writes:
On 2006-02-08 12:39:34 +0100, Vincent Lefevre wrote:
Une chose importante est de ne pas changer la taille des fontes du texte principal. Rien de plus énervant de voir de nombreux sites fixer les fontes à 80% de la taille choisie par l'utilisateur.
Justement, je viens de voir:
http://asyd.net/home/lib/tpl/asyd/design.css
qui contient:
body { font: 80% "Bitstream Vera Sans", Lucida, Helvetica, Arial, sans-serif; [...] }
nan mais tu sais moi et le web hein, j'imagine que c'est la parce que c'etait la dans la CSS d'origine, je suis pas graphiste du tout, et (limite) je déteste tout ce qui se rattache au graphisme (c'est pas mon métier) De toute facon, je vais mettre le wiki aujourd'hui, je le met dans un svn, et je vous donne un acces a celui ci, tu pourras donc modifier tout ce qui ne va pas ! (et j'imagine qu'il n'y a pas que ca) ++ -- http://asyd.net/home/
On 2006-02-08 11:32:10 +0100, Marc Chantreux wrote:
pour le moment, j'ai ma petite page (http://khatar.phear.org/code.html) ou je fous mes tips. Nous devons être plusieurs (au moins Vincent et toi) sur cette liste a faire pareil, ce qui n'est pas la solution optimale.
Sur ta page, pour les fichiers par paquets de 1000, il y a aussi zargs, qui a l'avantage de ne pas avoir à utiliser de pipe. Dans les shells, tu peux mentionner psh. Pour le cmp pur zsh: [[ "$(<fichier1)" == "$(<fichier2)" ]] est peu efficace sur de gros fichiers. -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
merci pour tes remarques dont je prends bonne note ... cette page sera bientot wike et tu pourras donc la commenter ... tu la commenterais, dis ? mc
On 2006-02-08 12:12:08 +0100, Marc Chantreux wrote:
merci pour tes remarques dont je prends bonne note ... cette page sera bientot wike et tu pourras donc la commenter ... tu la commenterais, dis ?
Évidemment. :) -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
le 08/02/2006, Vincent Lefevre nous écrivait :
On 2006-02-08 12:12:08 +0100, Marc Chantreux wrote:
merci pour tes remarques dont je prends bonne note ... cette page sera bientot wike et tu pourras donc la commenter ... tu la commenterais, dis ? Évidemment. :)
lovely! on est 3! ben je crois franchement qu'on peut se lancer, là ...
Vincent Lefevre a écrit :
Une page intéressante:
http://www.softpanorama.org/Scripting/Shellorama/portability.shtml
Ah, oui.... C'est tres interressant... on peut y lire ceci : Portability [...] ck with bash unless you install ksh93 manually. But bash is pretty close to ksh93 and if you tested you scripts with it it should work OK. Cette derniere phrase est une pure invention. ksh93 est hyper eloigne de bash. La premiere chose par laquelle on se fait mordre en ksh93 est la portee des variables a l'interieur des fonctions. function a { typeset b b=23 c echo $b } function c { b=iwurtiowruturioyueoyueouyoeuo } en bash : a iwurtiowruturioyueoyueouyoeuo en ksh93 a 23 Christophe
On 2006-02-07 15:07:01 +0100, Marc Chantreux wrote:
function a { typeset b b=23 c echo $b } function c { b=iwurtiowruturioyueoyueouyoeuo } en bash : a iwurtiowruturioyueoyueouyoeuo
quand je vous disais que bash c'est pourri ! ;)
zsh fait pareil que bash. Que dit POSIX? -- Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/> Work: CR INRIA - computer arithmetic / SPACES project at LORIA
Christophe Martin <christophe.martin@sdt.univ-brest.fr> writes:
quand je vous disais que bash c'est pourri ! ;)
Sur ce critere ? alors on jette aussi zsh ;-)
Autant arrêter l'informatique à ce compte là ! -- http://asyd.net/home/
Bruno Bonfils wrote:
quand je vous disais que bash c'est pourri ! ;) Sur ce critere ? alors on jette aussi zsh ;-) Autant arrêter l'informatique à ce compte là !
Je crois comprendre que Christophe essayait de me dire que mes griefs contre bash sont soit infondés soit subjectifs :)
participants (5)
-
Bruno Bonfils
-
Christophe Martin
-
Florent Guiliani
-
Marc Chantreux
-
Vincent Lefevre