Variable per SSH übergeben

Dieses Thema: "Variable per SSH übergeben" im Forum "Shell-Skripte" wurde erstellt von hennerich, 15.07.2004.

  1. #1 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    Hallo,

    ich habe auf meinem Client eine Variable mit export definiert und möchte diese in einem Script anwenden, das ich per SSH auf meinem Server ausführe.
    Dazu wollte ich auf dem Server eine neue Variable deklarieren:

    Client:
    export VARCLIENT=/tmp
    ssh root@server 'export VARSERVER=$VARCLIENT' /home/user/runscript.sh

    leider funktioniert das nicht so. Hat jemand eine Idee wie ich das lösen könnte??

    Danke

    Henri
     
  2. Bonk

    Bonk Tripel-As

    Dabei seit:
    07.10.2003
    Beiträge:
    240
    Zustimmungen:
    0
    Hmm, wenn ich das richtig verstanden habe, dann kannst Du an das Skript deine Variable anhängen und als $1 im selbigen verwursten.

    /home/user/runscript.sh $trallala

    Sollte funktionieren, oder ?
     
  3. #3 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    Hallo Bonk,

    lokal funktioniert das auch, aber leider nicht per SSH.
    Wenn ich das so mache:
    ssh root@server home/user/runscript.sh $trallala
    dann will er die Variable $trallala von server nehmen und dieser kennt die Variable nicht. Ich muss also explizit angeben das er die vom Client nimmt. Nur wie ???

    Henri
     
  4. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Hm, vll. musst du das alles in ' ' setzen.

    ssh root@server '/home/user/runskript.sh tralala'
     
  5. Bonk

    Bonk Tripel-As

    Dabei seit:
    07.10.2003
    Beiträge:
    240
    Zustimmungen:
    0
    Nee, geht nicht ? Die Variable müßte auf dem client richtig ersetzt werden.

    export TRALLALA=peng
    ssh user@server /../../runscript.sh $TRALLALA

    ergibt : ssh user@server /../../runscript.sh peng

    Haste das mal getestet?
     
  6. #6 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    @hehejo
    habe ich alles versucht:
    ssh root@server "home/user/runscript.sh" $trallala
    ssh root@server "home/user/runscript.sh $trallala"
    ssh root@server 'home/user/runscript.sh' $trallala
    ssh root@server 'home/user/runscript.sh $trallala'
    ssh root@server `home/user/runscript.sh` $trallala
    ssh root@server `home/user/runscript.sh $trallala`

    @Bonk
    das ist ja bei mir so:
    runscript.sh
    ...
    export trallala=/pfad
    ...
    ssh root@server home/user/runscript.sh $trallala
     
  7. Bonk

    Bonk Tripel-As

    Dabei seit:
    07.10.2003
    Beiträge:
    240
    Zustimmungen:
    0
    aaahh!!!
    Du mußt den Kram groß schreiben!

    export TEST=blah
    echo $TEST
     
  8. #8 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    @Bonk
    OK, jetzt der richtige Ausschnitt aus meinem Script:

    ...
    export DEST_PATH=/var/mail/patch
    ...
    ssh root@server /root/install.sh $DEST_PATH
    ...

    Henri
     
  9. Bonk

    Bonk Tripel-As

    Dabei seit:
    07.10.2003
    Beiträge:
    240
    Zustimmungen:
    0
    Wie jetzt? Geht nicht?
    Sitzt Du neben den Rechnern?
    Teste mal Sendmail an oder aus (mir fällt nix besseres ein). Ich denke das sind deine nicht produktiven privat Rechner, oder?

    export TEST=stop oder start
    ssh root@server /etc/init.d/sendmail $TEST

    Das sollte funktionieren.
     
  10. #10 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    Hallöchen,

    ich habe einfach in meinem Script das ich auf dem Server starte ein echo $DEST_PATH drin, da sehe ich dann das Ergebnis.
    Leider ist es immer leer.

    Henri
     
  11. Bonk

    Bonk Tripel-As

    Dabei seit:
    07.10.2003
    Beiträge:
    240
    Zustimmungen:
    0
    Nee, is klar! Auf dem Server kannst Du nicht mit DER Variable arbeiten! Da mußt Du $1 nehmen.
     
  12. #12 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    Wie jetzt, bitte mal näher erklären???

    Henri
     
  13. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Wenn dieses Variable eine bei dir lokal exportierte Varbiable ist, dann bleibt die Variable auch bei dir.
    Du kannst dann zwar den Wert übergeben, aber nicht die Info, dass es eigentlich eine Variable ist.
    Wenn du den Wert übergibst, dann kannst du den aufragen steht dann in $1.
    BSP:
    Code:
    $ export DEST=/home
    $ cat runskript.sh
    #!/bin/bash
    echo $1
    $ ./runskript.sh $DEST
    /home
    $ 
    
    Wenn die Variable aber die gleiche bleiben soll, dann leg die doch einfach in deinem Skript fest.
     
  14. #14 hennerich, 15.07.2004
    hennerich

    hennerich Jungspund

    Dabei seit:
    15.07.2004
    Beiträge:
    21
    Zustimmungen:
    0
    Danke sehr, das hat funktioniert.

    Henri
     
  15. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Es sollte auch so gehen (bei Anfuehrungszeichen statt Hochkomma wird die Variable $VARCLIENT ausewertet):

    export VARCLIENT=/tmp
    ssh root@server "export VARSERVER=$VARCLIENT ; /home/user/runscript.sh"
     
Thema:

Variable per SSH übergeben

Die Seite wird geladen...

Variable per SSH übergeben - Ähnliche Themen

  1. sed suchen und ersetzen mit Variable übergeben?

    sed suchen und ersetzen mit Variable übergeben?: hallo, ich habe folgenden sed-Befehl, der schon super ist und auch alles tut, was er tun soll, nur eben natürlich das $i einfach hinschreibt...
  2. Inhalt einer Variablen aus Batch an Shellscript übergeben

    Inhalt einer Variablen aus Batch an Shellscript übergeben: Hallo, ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben? So? #...
  3. MySQL-Abfrage an Variable übergeben

    MySQL-Abfrage an Variable übergeben: Hallo, ich möchte die Ausgabe einer MySQL-Anfrage zeilenweise auswerten und die darin enthaltenen Werte in ein Template schreiben und gegen...
  4. wie Umgebungsvariablen übergeben

    wie Umgebungsvariablen übergeben: Hallo zusammen, ich brauch mal eure Hilfe, weil ich grad nicht weiterkomme. kurz zum Sachverhalt...es gibt ein Oberprogramm(OP) und ein...
  5. Über Linker Skript externe Variablen übergeben

    Über Linker Skript externe Variablen übergeben: Hi, ich habe mich im Rahmen einer Projektarbeit an der Uni mit der "Linker Command Language" beschäftigt und mit dem Umgang des LD's. Als...