Re: ssh und Environment-Variable

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Thu, 14 Oct 2004 12:03:22 +0200 (CEST)

Peter Ross <Peter.Ross(at)alumni.tu-berlin.de> wrote:
> Ich moechte via ssh remote ein Shellskript sourcen, welches ein
> temporeares File ist, dessen Filename ich lokal in einer Variable habe,
> wissen, wie eine Variable nach Ausfuehrung dieses Skripts heisst und
> das in einer lokalen Variable speichern.
>
> Etwa:
>
> lokale_variable=`ssh remotehost ". $lokal_gespeicherter_filename; echo
> $remote_variable"`
>
> Die Loginshell remote ist eine bash.
>
> Ich bekomme das nie sauber gequotet, dass es die Variablen richtig in der
> lokalen bzw. remote Shell auswertet.
>
> Hat jemand eine Loesung?

Das ist ein typischer Fall, wo man besser "$()"-Syntax an-
stelle von Backticks nehmen sollte, damit das Backslashing
nicht überhand nimmt:

lokale_var=$(ssh remotehost ". $filename; echo \$remote_var")

Sauberer wäre es aber vielleicht, wenn das Skript selbst
den Inhalt der Variable ausgibt (evtl. durch Angabe einer
Kommandozeilenoption). Dann bräuchtest Du nicht das selt-
same echo beim Aufruf per ssh.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"With sufficient thrust, pigs fly just fine.  However, this
is not necessarily a good idea.  It is hard to be sure where
they are going to land, and it could be dangerous sitting
under them as they fly overhead." -- RFC 1925
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 14 Oct 2004 - 12:03:47 CEST

search this site