On Thu, 21 Nov 2002, Pierre Maitre wrote: > F�lix Hauri a �crit : > > > > > > Mais permet de bien s'amuser quand m�me: > > $ echo -e $( > > for ((i=97;91-$i;i=$i+1)) do > --- ne manque-t-il pas un point virgule: > for ((i=97;91-$i;i=$i+1)) ; do
Oui, mais non... Dans le principe et pour ce que je me souvienne avoir appris tu as raison. Cela dit syntaxiquement parlant, sans le point-virgule, cela se comprend sans �quivoque, de plus avec ma version de bash cela fonctionne farpaitement;) $ echo $BASH_VERSION 2.05a.0(1)-release A noter que pour mes mails, j'utilise �normement le copier-coller, cela �vite les f�tes. > > [ $i -lt 123 ] || i=65 > > printf "\\%03o" $i > > done > > ) > > Bonsoir > > J'ai un probl�me avec le petit script de F�lix. Ca m'est tomb� dessus en > bidouillant sur la ligne de commande pour essayer de comprendre ce que > faisait le printf: Dans le script, je m'en sers pour g�n�rer de l'octal. > > [maitre@anesth1 tmp]$ i=97 > [maitre@anesth1 tmp]$ printf "\\%3o\n" $i > \141 > [maitre@anesth1 tmp]$ echo -e $(printf "\\%3o" $i) > a > Jusque l�, pas de probl�me, mais maintenant je substitue: > [maitre@anesth1 tmp]$ echo -e $(\141) la syntaxe: `` $() '' � exactement le m�me effet que la syntaxe plus ancienne: `` `` ''... hem: $ echo -e `printf "\\%03o" 97` a $ echo -e $(printf "\\%03o" 97) a Avec l'avantage d'�tre imbricable: $ echo -e $(printf "\\%03o" $(echo 64+26|bc)) Z (Ce qui �tait impensable avec l'ancienne syntaxe: $ echo -e `printf "\\%03o" `echo 64+26|bc`` (standard_in) 1: illegal character: ^@ (standard_in) 1: parse error (� ne pas confondre avec $'' que je n'ai pas utilis� ici car les apostrophes interdisent le passage des variables.) -- F�lix Hauri - <[EMAIL PROTECTED]> - http://www.f-hauri.ch -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se d�sabonner aussi.
