Befehlsübergabe an eine Variable

Diskutiere Befehlsübergabe an eine Variable im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo Leute! Ich habe ein Problem das mir den letzten Nerv raubt! ;( Ich möchte ein Shellscript schreiben das nach einen laufenden Prog....

  1. #1 Vagofft, 24.11.2003
    Vagofft

    Vagofft Sysop

    Dabei seit:
    21.11.2003
    Beiträge:
    10
    Zustimmungen:
    0
    Ort:
    Weilerswist
    Hallo Leute!

    Ich habe ein Problem das mir den letzten Nerv raubt! ;(
    Ich möchte ein Shellscript schreiben das nach einen laufenden Prog. sucht und es dann beendet.

    In der Shell funktioniert folgendes:

    ps ax | sed -e 's/ /,/g' | grep cron | awk -F, '{ print $2 }'

    Ausgegeben wird mir dann, wie gewünscht nur die Prozessnummer.

    Aber wie übergebe ich diese Ausgabe an eine Variable, innerhalb eines Scrips?

    Habe folgende Varianten versucht aber es schlug fehl:

    variable=ps ax | sed -e 's/ /,/g' | grep cron | awk -F, '{ print $2 }'
    echo "$variable"

    variable="ps ax | sed -e 's/ /,/g' | grep cron | awk -F, '{ print $2 }'"
    echo "$variable"

    variable='ps ax | sed -e \'s/ /,/g\' | grep cron | awk -F, \'{ print $2 }\''
    echo "$variable"


    Die Ausgabe schlug immer fehl. :bounce:

    Wer kann mir sagen was ich falsch mache???
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 HangLoose, 24.11.2003
    HangLoose

    HangLoose kleiner Bruder von ruth

    Dabei seit:
    07.11.2003
    Beiträge:
    319
    Zustimmungen:
    0
    Ort:
    HH
    moin moin

    wie wär's damit

    foobar=`pgrep cron`


    Gruß HL
     
  4. #3 damager, 24.11.2003
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    wie wäre es mit:
    variable=`ps ax | sed -e 's/ /,/g' | grep cron | awk -F, '{ print $2 }'`
    echo "$variable"

    du brauchst das " ` " zeichen zum maskieren befehlen.

    ausserdem könntest doch die ausgabe (pid) in eine datei umleiten und sie dann bei "kill" befehl wieder übergeben.

    kill -9 `cat <pidfile>`
     
  5. #4 damager, 24.11.2003
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    oder so :P
    machmal sieht man der wald vor lauter befehlen nicht mehr
     
  6. #5 HangLoose, 24.11.2003
    HangLoose

    HangLoose kleiner Bruder von ruth

    Dabei seit:
    07.11.2003
    Beiträge:
    319
    Zustimmungen:
    0
    Ort:
    HH
    kommt mir irgendwie bekannt vor ;)


    Gruß HL
     
  7. #6 Vagofft, 24.11.2003
    Vagofft

    Vagofft Sysop

    Dabei seit:
    21.11.2003
    Beiträge:
    10
    Zustimmungen:
    0
    Ort:
    Weilerswist
    Ja ja,

    und wieder einmal als dau geoutet.
    Vielen dank für die schnelle Hilfe. :))

    Da habe ich wohl das Rad neu erfunden.

    ps ax | sed -e 's/ /,/g' | grep cron | awk -F, '{ print $2 }' entpricht ja genau pgrep

    Na ja, jetzt weiss ich wenigstens wie pgrep funktioniert. :P

    Als Shell Anfänger habe ich leider immernoch das Problem mit der Menge an Befehlen. Da verlaufe ich mich schnell in einen viel zu komplizierten Weg.

    Besserung versprochen.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 HangLoose, 24.11.2003
    HangLoose

    HangLoose kleiner Bruder von ruth

    Dabei seit:
    07.11.2003
    Beiträge:
    319
    Zustimmungen:
    0
    Ort:
    HH
    man kann nicht alle befehle kennen 8). pgrep ist allerdings nen befehl, den du garantiert nicht wieder vergisst ;). alternativ gibt es auch noch pidof.


    Gruß HL
     
  10. chb

    chb Steirer

    Dabei seit:
    01.06.2003
    Beiträge:
    2.359
    Zustimmungen:
    0
    Ort:
    ÖSTERREICH
    Ajo anstatt
    foobar=`pgrep cron`
    geht auch
    foobar=$(pgrep cron)

    Ist eigentlich dasselbe aber meiner Meinung nach leichter lesbar :)
     
Thema:

Befehlsübergabe an eine Variable

Die Seite wird geladen...

Befehlsübergabe an eine Variable - Ähnliche Themen

  1. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  2. Summe von Zahlen in einer Zeilen bilden

    Summe von Zahlen in einer Zeilen bilden: Auf ein Neues... Ich komme bei folgender Problematik nicht weiter: Ich habe eine Datei (zahlen.txt), die ich einlese mit folgenden Daten: 111 222...
  3. Bestimmte Zeilen einer Spalte addieren

    Bestimmte Zeilen einer Spalte addieren: Hallo, würde mich über Hilfe in Form eines Unix-Befehls oder AWK bei folgendem Problem freuen: Ich habe eine Textdatei, in der Werte drin sind in...
  4. Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?

    Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?: In mehreren Dateien ist immer mehrfach ein bestimmtes Wort enthalten, gefolgt von einem "=". Ich möchte mir die dahinter folgenden 10 Zeichen...
  5. Keine Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....