Re: bash: woody à sarge pour info
François Boisson a écrit, samedi 12 février 2005, à 07:36 :
> Le Fri, 11 Feb 2005 21:33:35 +0100
> Jacques L'helgoualc'h <lhh+nospam@free.fr> a écrit:
[seq will suck]
Les syntaxes de for((;;)) divergent un peu suivant ton shell,
LC_ALL=C man bash =>
for (( expr1 ; expr2 ; expr3 )) ; do list ; done
man zshmisc =>
for (( [expr1] ; [expr2] ; [expr3] )) do list done
Bash et sh se passent du point-virgule entre "))" et "do", zsh accepte
aussi ce même point-virgule _mais_ exige l'espace entre "for" et "((".
La différence entre les deux « list » n'est que grammaticale, il faut
toujours un point-virgule devant le done.
Pour ton problème de scripts, si tu as la flemme(*) de tous les réviser
on peut aussi --- à moins que /usr/bin/seq ne soit codé en dur ---
écrire une fonction seq du shell qui ferait ce que tu veux.
Avec
$ find /bin /sbin /usr/bin /usr/sbin -type f -perm +111 | \
while read s ; do
file $s | grep -qF 'shell script' && \
{ grep -Fw seq $s && echo $s; }
done
je ne trouve chez moi que
for i in $(/usr/bin/seq 6 -1 0); do
for i in $(/usr/bin/seq 6 -1 0); do
dans /usr/bin/ucf, du paquet ucf. On peut donc penser que seq est déjà
plus ou moins banni/obsolete/tricard chez Debian ?
(* la paresse est une vertu©)
--
Jacques L'helgoualc'h
Reply to: