Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[zsh] syntaxe case ... esac

8 réponses
Avatar
Rakotomandimby
bonjour ,
Je cherhce une page qui donne un exemple de syntaxe case ... esac en zsh
SVP .
le "info zsh" , je sais pas l'utiliser et je cherche un exemple , parceque
ceci : ( http://zsh.sunsite.dk/Doc/Release/zsh_5.html#IDX50 ) n'est pas
vraiment explicite , du moins pour moi .

Merci d'avance .
--
http://mrakotom.free.fr

8 réponses

Avatar
Nicolas Le Scouarnec
le "info zsh" , je sais pas l'utiliser et je cherche un exemple , parceque
ceci : ( http://zsh.sunsite.dk/Doc/Release/zsh_5.html#IDX50 ) n'est pas
vraiment explicite , du moins pour moi .


The User-friendly user guide is really friendly :)

Il est bien fait ce manuel, et on le trouve meme en PDF.
Donc, tu trouveras un exemple plus explicite la:

http://zsh.sunsite.dk/Guide/zshguide03.html#l67

--
Nicolas Le Scouarnec
http://nlsn.free.fr (Slrnfr, Docs Linux/BSD, La grippe, ... )

Avatar
Stephane Chazelas
2004-01-13, 15:39(+01), Rakotomandimby:
Je cherhce une page qui donne un exemple de syntaxe case ... esac en zsh
SVP .
[...]


Comme dans tous les autres shells Bourne-like (avec des
extensions), voir:

info -f zsh --index-searchÊse

info info
pour apprendre à se servir d'info (voir aussi pinfo et les modes
info de vim ou emacs) sinon, tu peux avoir le manuel de zsh dans
à peu près tous les formats que tu veux.

case $var in
a | b) echo a ou b;;
([a-z]) echo une autre lettre;; # (..) comme dans ksh
*) echo autre chose;;
esac

(voir aussi le ";&" qui est l'équivalent d'une abscence de
"break" en C).

T'as aussi la variante courte:

case $var {a)echo a;;b)echo b}

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Laurent Wacrenier
Stephane Chazelas écrit:
T'as aussi la variante courte:

case $var {a)echo a;;b)echo b}


courte et dépréciée.

Avatar
Stephane Chazelas
2004-01-13, 15:48(+00), Laurent Wacrenier:
Stephane Chazelas écrit:
T'as aussi la variante courte:

case $var {a)echo a;;b)echo b}


courte et dépréciée.


C'est le genre de syntaxe qu'on utilise au prompt. Bon, s'il
m'arrive fréquemment de faire des "for" voire des "repeat" ou
"while" au prompt, c'est vrai que j'use assez peu du "case".
Au prompt, on se fous du coté "deprecated".

Les versions courtes ont moins d'intérêt dans les scripts. Elles
peuvent être toutefois plus lisibles pour des habitués d'autres
langages. Mais qui écrit encore des scripts shell aujourd'hui ?

Comparer:

for file in *.txt foo bar; do
cmd -- "$file"
done

avec:

for file (*.txt(N) foo bar) {
cmd -- $file
}

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


Avatar
Rakotomandimby
Stephane Chazelas wrote:

Mais qui écrit encore des scripts shell aujourd'hui ?


l'abruti que je suis , je suppose :-)
non je trouve que les scripts sont utiles ( surtout qu'ils ne depassent pas
la centaine de lignes ). Je vois bien que vous , pas .

Mais dans ce cas , une question me titille , par quoi avez vous remplacé vos
scripts ? directement du code en C ?
--
http://mrakotom.free.fr

Avatar
Rakotomandimby
Stephane Chazelas wrote:
case $var {a)echo a;;b)echo b}


difference entre print et echo ?
d'apres ce que j'ai lu "aucune"


Amihamina-milina>>>>A=3 ; print "$An" ; echo "$A"
3

3

--
http://mrakotom.free.fr

Avatar
Stephane Chazelas
2004-01-16, 12:24(+01), Rakotomandimby:
Stephane Chazelas wrote:
case $var {a)echo a;;b)echo b}


difference entre print et echo ?
d'apres ce que j'ai lu "aucune"


Tu as mal lu. "print" est la commande pour écrire sous zsh et
ksh. "echo" est là pour compatibilité, printf pour la POSIX
conformance (same as "print -f <format>" sous zsh).

Voir le manuel de zsh au rayon builtins.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


Avatar
Rakotomandimby
Stephane Chazelas wrote:

Tu as mal lu.


ca m'arrive de temps en temps , désolé .
--
http://mrakotom.free.fr