Příkaz "wait" v bash
Ondra Janál
linux-list na delay.melzer.cz
Pátek Říjen 28 12:16:48 CEST 2011
Ahoj
Mě chodí toto:
Switche () {
Prom=$(TabSwitch $1 $2)
echo $Prom > $mysnmptmp.out.$1
# echo $Prom
}
while read nazev ip; do.
Switche $ip $nazev &
done < $mysnmptmp.list
wait
Petr Franta napsal(a):
> Ahoj všichni.
> Chtěl jsem se zeptat na to jak udělat, aby v BASH scriptu zabral příkaz
> "wait".
> Pokud napíši:
> #!/bin/bash
> sleep 10 &
> wait
> Pak vše funguje správně.
> Ale rád bych spouštěl paralelně zálohování FTP a můj bash ignoruje příkaz
> "wait":
> petr na petr-desktop:~/pracovni/bash$ cat wait2.sh
> #!/bin/bash
>
> cat ucty.txt | while read DOMENA USER PASS
> do
> echo "Start sleep ${DOMENA}"
> { sleep 5; echo "Konec sleep ${DOMENA}!" ; } &
> done
>
> ps | grep sleep
> wait
> echo "BASH KONEC"
> ps | grep sleep
>
> Script vypíše:
> petr na petr-desktop:~/pracovni/bash$ ./wait2.sh
> Start sleep domena1.cz
> Start sleep domena2.cz
> Start sleep domana3.cz
> 5575 pts/1 00:00:00 sleep
> 5577 pts/1 00:00:00 sleep
> 5579 pts/1 00:00:00 sleep
> BASH KONEC
> 5575 pts/1 00:00:00 sleep
> 5577 pts/1 00:00:00 sleep
> 5579 pts/1 00:00:00 sleep
> petr na petr-desktop:~/pracovni/bash$
> Konec sleep domana1.cz!
> Konec sleep domana3.cz!
> Konec sleep domana2.cz!
>
> Pravděpodobně problém způsobí řádek cat ucty.txt | while read DOMENA USER
> PASS, protože pokud jsem si udělal jen primitivní bash s příkazy while xxx ;
> do ... sleep xx & ... done, tak to pracuje správně.
> Předem díky za radu.
> Petr
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
Další informace o konferenci Linux