• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wert von "wc -l" an Variable übergeben

Hallo,

ich möchte gerne ein Shell-Script schreiben, welches Prozesse eines vorher abgefragten Programmes killt.

Die erste Zeile des Scripts ist:

read -p "Geben Sie den Namen des Programms ein, welches beendet
werden soll: " prog

Danach möchte ich eine Abfrage machen, ob überhaupt Prozesse zu diesem Programm laufen.
Dabei soll der Wert von

ps -A | grep $prog | wc -l

an eine Variable übergeben werden, welche dann in einer Schleife in der Art von "while $wc_variable = 0 echo kein laufender Prozess" ausgibt.

Die Lösung ist sicher nicht sehr kompliziert, aber ich würde hier nicht posten wenn ich mit googeln, "Linux in a Nutshell" etc. darauf gestossen wäre.

Vielen Dank schon mal,

fuzzymadge
 
fuzzymadge schrieb:
Danach möchte ich eine Abfrage machen, ob überhaupt Prozesse zu diesem Programm laufen.
Dabei soll der Wert von

ps -A | grep $prog | wc -l

an eine Variable übergeben werden, welche dann in einer Schleife in der Art von "while $wc_variable = 0 echo kein laufender Prozess" ausgibt.
Dafür brauchst du nicht mal eine Variable. So geht es auch:
Code:
if ! ps -A | grep -q "$prog"
then
  echo "kein laufender Prozess"
fi
 
Hat etwas gedauert bis ich das ! als "nicht" erkannt habe.
Hab´s erst für eine Pipe gehalten und mich gefragt, ob mein bash-Verständnis wirklich so schlecht ist.

Aber - klar, so gehts auch - versteh ich jetzt sogar.

Danke!
 
Oben