morg Napisano Sierpień 11, 2009 Zgłoszenie Share Napisano Sierpień 11, 2009 Witam Definiuje zmienna $znak w zależności od serwera na którym pracuje: export znak=- if [[ $serwer = "HP-UX" ]] ; then export znak=? fi Funkcja która szuka procesów odłączonych od terminala: UsunOdlaczoneOdTerminala6() { ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "$znak" {print $2}'` for Proces in $ProcesyOdlaczone6 do kill -9 $Proces done } Chciałem uprościć działanie ale w tym przypadku nie działa zmienna $znak. Jest jakiś sposób by można było "$znak" zmusić do współpracy, czy też taka składnia wyklucza użycie zmiennej na rzecz konkretnie "-" "?" ? Można by zrobić to również w taki sposób: case `uname` in HP-UX) ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "?" {print $2}'` ProcesyOdlaczone7=`ps -ef |grep $LOGNAME | awk '$7 == "?" {print $2}'` ;; *) ProcesyOdlaczone6=`ps -ef |grep $LOGNAME | awk '$6 == "-" {print $2}'` ;; esac UsunOdlaczoneOdTerminala() { for Proces6 in `echo $ProcesyOdlaczone6` ; do for Proces7 in `echo $ProcesyOdlaczone7` ; do kill -9 $Proces6 kill -9 $Proces7 done done } Dla linii: for Proces7 in `echo $ProcesyOdlaczone7` ; do Dlaczego, bez `echo ..` - nie kilował procesów ? M. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
fafig Napisano Sierpień 11, 2009 Zgłoszenie Share Napisano Sierpień 11, 2009 jak chcesz wydrukowac zmienna w awk skoro przekazujesz zmienna odpowiedzialna za kolejny parametr wywolania sktyptu basha ? (print $2 bedzie chcialo wydrukowac drugi argument wywolania skryptu -> null) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się