Re: ssh und Environment-Variable

From: Peter Wullinger <some-mail-drop(at)gmx.net>
Date: Thu, 14 Oct 2004 11:28:21 +0200

In epistula a Peter Ross, die horaque Thu, Oct 14, 2004 at 05:10:04PM +1000:
> Hi Leute,
>
> ist vielleicht eine lustige Knobelaufgabe - ich sitze eine halbe Stunde
> dran und mein Gehirn verknotet sich immer mehr.

Also ich hab fünf Minuten gebraucht, d.h. ich hatte entweder Glück
oder mein Hirn hat bereits diverse Knoten. Ich tippe auf letzteres
und sollte eine CT machen lassen ;-).

>
> Ich moechte via ssh remote ein Shellskript sourcen, welches ein
> temporeares File ist, dessen Filename ich lokal in einer Variable habe,

Ich frag jetzt besser nicht, warum ...

>
> 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"`

local_variable=`ssh remote_host ". $lokal_gespeicherter_filename; echo \\$remote_variable'

Erklärung (Vorsicht, ein wenig länger):

Der Doppelbackslash (\\) sorgt dafür, daß auf der lokalen Seite durch
normale Shell-Expansion auf der Kommandozeile nur noch ein Backslash stehen
bleibt.

Das "\$" stirbt dann durch die Backticks eines natürlichen Todes, wird
zu "$" und geht dann auch so über den Äther:

debug1: Sending command: . /tmp/test.sh; echo $remote_variable

Alternativ:

local_variable=`ssh -v remote_host ". $lokal_gespeicherter_filename; eval echo '$'remote_variable"`

Warum und wie das geht, sei dem Leser überlassen ;-). Die vorgehensweise
ist übrigens relativ einfach: Man überzeugt die Shell dazu, daß sie
das, was man will, von der Kommandozeile aus über den Äther schickt. Dann
fügt man erst die Backticks hinzu und quotet die entsprechenden
Problemstellen.

Gruß,
        Peter

-- 
Geistreich sein heißt, sich leicht verständlich zu machen,
ohne deutlich zu werden.	
	-- Jean Anouilh
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 - 11:29:00 CEST

search this site