Befehlsübergabe an eine Variable

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Vagofft, 24.11.2003.

  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. 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...
  2. 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....
  3. Kontextmenü mit einem Skript verbinden

    Kontextmenü mit einem Skript verbinden: Abend, wenn ich z. B. eine simple Umwandlung eines Bildformates in ein anderes über das KDE-Kontextmenü (Servicemenü nennt es sich im KDE oder...
  4. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  5. 2 Zeilen aus einer txt auslesen

    2 Zeilen aus einer txt auslesen: Hallo Leute, ich habe eine Datei die immer aus zwei zusammenhängenden Zeilen besteht, als Beispiel: DE0006231004 # 15,04 Infineon DE0005785604...