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. #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
     
  3. #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>`
     
  4. #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
     
  5. #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
     
  6. #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.
     
  7. #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
     
  8. 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. Einzelnes Programm einen Proxy zuweisen

    Einzelnes Programm einen Proxy zuweisen: Hallo zusammen, ist es möglich, einem Programm, welches selbst keine Proxyparameter hat, einen Proxy zuzuweisen? Gibt es da ein nützliches Tool?...
  2. leerzeichen vor und nach einem STRING löschen

    leerzeichen vor und nach einem STRING löschen: Hallo Zusammen, ich muss in einer Datei die LEERZEICHEN vor und nach einem STRING entfernen, aber nicht innerhalb des Strings. Die STRINGS sind...
  3. Framebuffer mit "Bild in Bild" Funktion ODER mehrere Bilder zu einem neuen (nurKonsole)

    Framebuffer mit "Bild in Bild" Funktion ODER mehrere Bilder zu einem neuen (nurKonsole): Moin Zusammen, ich habe einen Monitor mit Raspberry (an vielen Standorten) und wie immer - viel zu viel Informationen um diese gut lesbar...
  4. Dell D620 bootet keine Installation

    Dell D620 bootet keine Installation: Hallo zusammen, ich versuche seit einigen Tagen auf meinen alten Dell D620 ein 32Bit Linux zu installieren.(Prozessor bedingt) Ich würde gern mit...
  5. Ein Wort hinter einer bestimmten Zeichenfolge suchen und ausgeben

    Ein Wort hinter einer bestimmten Zeichenfolge suchen und ausgeben: Hallo, ich habe eine Datei, die ich nach bestimmten Wörtern durchsuchen und, wenn gefunden, x Zeichen hinter sdiesem Wort ausgeben möchte....