Befehlsübergabe an eine Variable

Dieses Thema: "Befehlsübergabe an eine Variable" 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 mal hier --> (hier klicken). Viele Antworten inkl. passender Shell-Befehle!
    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. #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
     
  9. 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. Artikel: LibreOffice 5.0: Installation und kleiner Überblick

    Artikel: LibreOffice 5.0: Installation und kleiner Überblick: Es hat eine Weile gedauert, bis LibreOffice 5.0 schließlich in der finalen Version erschienen ist. Wir stellen Ihnen die neueste Version und auch...
  2. Mit Coreutils 8.24 erhält dd eine Statusanzeige

    Mit Coreutils 8.24 erhält dd eine Statusanzeige: Der Unix-Befehl dd erhält mit der neuesten Version 8.24 des Pakets Coreutils eine eigene Fortschrittsanzeige. Bisher dienten dazu externe Scripte....
  3. Einen guten Rutsch und ein frohes neues Jahr!

    Einen guten Rutsch und ein frohes neues Jahr!: Die Redaktion von Pro-Linux wünscht allen Lesern einen guten Rutsch und ein erfolgreiches Jahr 2016. Weiterlesen...
  4. Frankreich erneuert seine Referenzliste zu freier Software

    Frankreich erneuert seine Referenzliste zu freier Software: Frankreich hat die Ausgabe für 2016 von SILL, der Referenzliste zu freier Software zur Verwendung in französischen Amtsstuben herausgegeben....
  5. Western Digital und ownCloud arbeiten an einem Cloud-Server für zu Hause

    Western Digital und ownCloud arbeiten an einem Cloud-Server für zu Hause: Festplattenhersteller Western Digital (WD) und ownCloud arbeiten gemeinsam an einem kleinen Cloud-Server, basierend auf WD-Festplatten, einem...