Portál AbcLinuxu, 13. května 2025 18:30

Dotaz: ukončení skriptu po průchodu smyčkou

8.4.2010 00:50 pavel
ukončení skriptu po průchodu smyčkou
Přečteno: 285×
Odpovědět | Admin
Mám takovýto skript (je to jeho část):
for ((;;))
do
echo "backup"
sleep 3
echo "Konec prvni smycky"

for (( y=0; y<=10; y++ ))
  do
echo "$y test samby"
echo "zacatek skriptu"
sleep 2
echo "Konec druhe smycky"
done
done
Skript pouštím na pozadí a potřebuji jej ukončit (kill skript) tak, aby skončil na konci prvni smycky nebo na konci druhe smycky. Mělo by to jít pomocí příkazu trap, ale kam ho dát?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.4.2010 02:13 deadmail
Rozbalit Rozbalit vše Re: ukončení skriptu po průchodu smyčkou
Odpovědět | | Sbalit | Link | Blokovat | Admin
trap sa vzdy dava na zaciatok. Pred kod,ktory chceme takto osetrit, tzn. pred cyklus v tomto pripade.

Takze pre ukoncenie iba na urcitom mieste si treba poznamenat, ze doslo k zaslaniu signalu SIGKILL a potom kontrolovat na miestach, kde ukoncenie povolime. Takze prerusenie cyklu mozeme urobit napr. nasledovne:
function skonci {
 prerus="A"
}
trap skonci 15 #15 = SIGKILL
prerus="N"
for (( y=0;;y++ ))
do
        echo "$y"
        sleep 1
        [ "$prerus" == "A" ] && exit 1
done
8.4.2010 16:23 pavel
Rozbalit Rozbalit vše Re: ukončení skriptu po průchodu smyčkou
Díky za pěkné vysvětlení.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.