bash: while függvényben és azon kívül
Nem tudom miért van de néha keservesebb eghy jól működő scriptet összehoznom mint egy c programot. Néhány programot próbálok lelőni, scriptből és rájöttem hogy egy kódrészt tulajdonképpen állandóan, változatlanul használok, nosza legyen ez függvény:
kill_pid()
{
CYCLE_COUNTER="."
while [ -n "$PID_TO_KILL" -a "$CYCLE_COUNTER" != "...." ]
do
CYCLE_COUNTER="${CYCLE_COUNTER}."
echo -n $CYCLE_COUNTER
kill $PID_TO_KILL
sleep 1
PID_TO_KILL=`ps -ax -o pid | grep $PID_TO_KILL | grep -v 'grep'`
done
echo " done"
}
Egyszerúen be sem lép a ciklusba, ha kiíratom a ciklus előtt a $PID_TO_KILL értékét - kiírja mit kell. A $CYCLE_COUNTER értéke (első körben adott. Elkezdtem (kínomban) az idéző jelekkel variálni -n $PID_TO_KILL - az "-a" számára váratlan? Elvileg, szerintem az egész while utasításnak így is jónak kéne lenni:
whiole [ -n $PID_TO_KILL -a $CYCLE_COUNTER != "...." ]
De így a "-a" -t nem akarja elfogadni. Szinte szóról-szóra azonos kód működött eddig, csak nem volt külön függvénybe. Mi sz'vathat itt engem?
- Tovább (bash: while függvényben és azon kívül)
- 1124 megtekintés