On Tue, 18 Feb 2003, Bertrand Zuchuat wrote: > > Le Mardi, 18 fév 2003, à 16:45 Europe/Zurich, Daniel Cordey a écrit : > > > for IMG in $(ls *.jpg) > Lorsque je mets la ligne ci-dessus, j'obtiens le message suivant dans > le terminal > ls: *.jpg: No such file or directory # Là tu execute la commande ``ls *.jpg'' (event l'alias ls=!) for IMG in $(/bin/ls *.jpg) # evite bien des problèmes
> Avec for IMG in ls *.jpg # Là tu fais une liste dont ``ls'' est le premier element... # ``aaa.jpg'' et ``aab.jpg'' seraient des élements suivants probables... # tu pourrais: for IMG in *.jpg # cela irait mieux... # Mais une bonne manière de faire pourrait être: # ... cd IMGDIR find -type f -iname '*.jpg' -maxdepth 1 -printf "%f\n" |\ while read IMG ;do date +"%d.%m.%Y %H:%M:%S Transferring $IMG to $DESTHOST" >>$LOGFILE if curl -T -u $USERPASS "$IMG" $DESTURL then echo >>$LOGFILE " Transfer OK" rm -f "$IMG" else echo >>$LOGFILE " Transfer failed" fi done # la boucle ``while...do...done'' ne s'effectue qu'en fonction de la # sortie de la commande find (càd ne s'effectue pas si pas de fichiers). # find recherche les fichiers correspondants à *.jpg, casse indifférente! # le format ``%f\n'', la technique ``while read'' et les guillemets à la # commande curl ``"$IMG"'' autorisent les espaces dans les noms de # fichiers. # petite astuce: # pourquoi `` echo "$(date +'... '' ? # ;-) -- 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.