[gull] Progress pour cp

Félix Hauri felix at f-hauri.ch
Mon Oct 3 11:42:16 CEST 2011


On Mon, Oct 03, 2011 at 10:51:17AM +0200, Christophe Pochon wrote:

> : /Users/chpochon/Desktop/export.command: line 77:  2210 Terminated
>      { point 1; }
> 
> ... Y a moyen de camoufler ça ? J'ai essayé kill ${bproc} > null mais ça ne
> change rien.

Oui, il faut que le kill *et* le process killé appartiennent au même
parent, qu'on redirige tout entier vers null (avec des parenthèses) :

 (  blah &  while ... done ; ... kill ${bproc} ) > /dev/null 2>&1

Mais alors la, il faudra finter pour faire afficher qqch:

 ( blah & while ... echo -n "." >/dev/fd/5 ... kill ${bproc} ) 5>&1 >/dev/null 2>&1


On créé un nouveau descripteur 5 qu'on redirige vers la sortie standard,
  puis on redirige les descripteur 1 vers dev-null, puis le 2 pareil.

On pourra alor utiliser le >&5 ou >/dev/fd/5 pour les messages a afficher...
$ (
    sleep 100 &
        for ((i=10;i--;));do
            echo -n . >&5;
            sleep .5;
        done;
        kill $!
    ) 5>&1 >/dev/null 2>&1;echo

Voui, cela m'affiche bien 10 point pendant 5 secondes:
$ time sh -c '
  (
     sleep 100 &
         for ((i=10;i--;));do
             echo -n . >&5;
             sleep .5;
         done;
         kill $!;
     ) 5>&1 >/dev/null 2>&1;echo
'
..........

real    0m5.032s
user    0m0.012s
sys     0m0.012s


--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list