Portál AbcLinuxu, 10. května 2025 16:45
mujscript.sh prvni=`cat seznam.txt |awk -F";" '{print $1}'` druhy=`cat seznam.txt |awk -F";" '{print $2}'`
while IFS=';' read prvni druhy; do … done <seznam.txt
#!/bin/sh echo "dobru noc" sleep 1 & sleep 2 & sleep 3 & wait echo "dobre rano"
time ./test.sh dobru noc dobre rano real 0m3.015s user 0m0.000s sys 0m0.000sTzn. sleep 1, 2 a 3 sa rozbehli paralelne a potom sa počkalo kým skončia - t.j. 3 sekundy, nie 6 ako by to bolo pri postupnom vykonávaní.
while IFS=';' read prvni druhy; do echo $prvni echo $druhy done < seznam.txt & wait echo "ALL DONE"
while IFS=';' read prvni druhy; do
echo $prvni &
echo $druhy &
done < seznam.txt
wait
echo "ALL DONE"
pripadne ak sa ma prvni a druhy vykonat po sebe:
while IFS=';' read prvni druhy; do
$(echo $prvni ;echo $druhy) &
done < seznam.txt
wait
echo "ALL DONE"
ahoj(){ while IFS=';' read prvni druhy; do echo $prvni echo $druhy done < seznam.txt echo "ALL DONE" }a v hlavni casti pak udelam:
ahoj & wait echo "ALL DONE"? Dik
parallel --eta --colsep ";" --arg-file seznam.txt mujscript {1} {2}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.