Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Inhalt des Strings ausgeben

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Beiträge
    53

    Question Inhalt des Strings ausgeben

    Hallo, ich schon wieder.

    Ich wollte mal wissen wie ich den Inhalt folgender Variable per echo ausgeben
    kann.

    var=`ssh pippa ps -ef | grep lupgtest | wc -l`

    Ich führe diese Zeile erst aus und erhalte dann einen Rückgabewert (1 oder 0).
    Ich will mir danach z.B. pippa und lupgtest ausgeben lassen. Geht das mit grep?

    THX im vorraus
    Azubi
    Fachinformatiker (Systemintegration)
    DB-Systems GmbH

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    statt
    Code:
    var=`ssh pippa ps -ef | grep lupgtest | wc -l`
    würde auch ein
    Code:
    ssh pippa ps -ef | grep lupgtest
    reichen, der Rückgabewert von grep (kannst auch grep -q ausführen, dann gibts von dort keinen Output) ist in $? gespeichert und ist 0 wenn grep lupgtest gefunden hat und sonst 1.

    Anschliessend machst du sowas - den Rückgabewert von Programmen kann man nämlich direkt mit if abfragen (das ist genau das was if macht in der Bash):
    Code:
    if ssh pippa ps -ef | grep lupgtest; then
      echo lupgtest war drin
    else
      echo war nix da
    fi
    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Beiträge
    53

    stimmt

    Danke für die schnelle Hilfe.

    Ich habe aber noch 19 weitere von diesen `ssh usw....`

    Ich habe schon eine for Schleife um alle abzufragen, wollte jetzt aber, ohne unnütz langen Quelltext, zu jedem ssh eine Nachricht ausgeben. Da jeder ssh aber einen anderen Rechner anspricht, muss auch die Nachricht individuell sein.
    deshalb wollte ich mir die Nachricht irgendwie aus den ssh Befehlen zusammen basteln oda so.
    Azubi
    Fachinformatiker (Systemintegration)
    DB-Systems GmbH

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Achso. Jetzt ists glaub ich etwas klarer was du willst

    Ginge etwas in die Richtung von
    Code:
    var="ssh pippa ps -ef | grep -q lupgtest"
    was du dann mittels
    Code:
    if $var; then
       echo $var 
    fi
    ausführst und ausgibst?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Beiträge
    53

    Das geht so nicht....

    THX

    Durch die " " bekomme ich kein Rückgabewert, den ich aber für die Abfrage brauche. Gibt es nicht eine Möglichkeit etwas aus ` ` zu Grepen, oder auszugeben?

    z.B. aus dieser Zeile z.B. das Wort LAARBW
    var=`ssh alex60 ps -ef | grep LAARBW | wc -l`

    -> Ich habe insgesamt 20 solcher Abfragen die sich im Aufbau nur in 2 Punkten
    unterscheiden. Zum einen nach dem ssh, zum anderen nach grep.
    Kann man da nicht den Quelltext kürzer gestalten mit irgendwelchen $name
    oda so?

    Bin echt Ratlos (ksh)
    Azubi
    Fachinformatiker (Systemintegration)
    DB-Systems GmbH

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Das mit den `` geht nicht weil das sofort ausgeführt wird und der Output dieses Befehls in der Variable gespeichert wird. An das zwischen den `` kommst du einfach nicht mehr ran.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Beiträge
    53

    schon gut

    Danke für dein Rat,
    dann muss ich mir halt was anderes einfallen lassen

    MFG
    Azubi
    Fachinformatiker (Systemintegration)
    DB-Systems GmbH

  8. #8
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Hab gerade noch was rumgeguckt - dabei ist mir das aufgefallen:
    Code:
    peschmae@thinkpad:~$ var="ls | grep asdf"
    peschmae@thinkpad:~$ bash -c "$var"
    peschmae@thinkpad:~$ echo $?
    1
    peschmae@thinkpad:~$ echo $var
    ls | grep asdf
    peschmae@thinkpad:~$ var="ls | grep devel"
    peschmae@thinkpad:~$ bash -c "$var"
    develop
    peschmae@thinkpad:~$ echo $?
    0
    peschmae@thinkpad:~$ echo $var
    ls | grep devel
    peschmae@thinkpad:~$
    ist doch ziemlich genau das was du brauchst, oder? (Anmerkung: den Ordner devel gibts im aktuellen Verzeichnis aber nix was asdf heisst)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  9. #9
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Beiträge
    53

    yes

    habs auf eine andere art gelöst, ist zwar umständlicher was ich gemacht habe, aber es funzt.

    Ps: Hast du rein zufällig ein IBM Thinkpad zwecks "@Thinkpad"???
    Ich arbeite an einem Thinkpad T23
    Azubi
    Fachinformatiker (Systemintegration)
    DB-Systems GmbH

  10. #10
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja. Ich hab ein X21

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •