Hey Ist es möglich eine Variable von einer Shell zur anderen zu übergeben? Ich habe einerseits Telnet zugriff und andererseits Rs232 soweit laufen ja beide getrennt voneinander. Wenn ich jetzt versuche eine Variable normal zu verwenden bleibt diese auf der anderen Shell lehr. a=test echo $a jemand eine idee?
Schau Dir mal FIFOS an (Befehl: mkfifo) Oder Du versucht es mit export.
Das hab ich gerade versucht leider bleibt die variable in ihrer umgebung. Es ist sogar möglich gleichnamige variablen mit unterschiedlichen werten zu füllen ohne das sie sich überschreiben...
Nachtrag: Vielleicht habe ich deine Frage auch missverstanden. Du bekommst mit "export" natürlich keine Variable in eine bereits parallel laufende Shell, sondern nur in neue Sub-Shells.
hmm aber was is eher da die Telnet oder die Rs232 sell? Mein plan ist es ja gezielt daten via Rs232 in eine andere shell zu senden
Sven schrieb: > hmm aber was is eher da die Telnet oder die Rs232 sell? > > Mein plan ist es ja gezielt daten via Rs232 in eine andere shell zu > senden Sorry, aber jetzt weiß ich gar nicht mehr, was du genau meinst. Hast du jetzt auf jeder Seite der seriellen Verbindung eine Shell, oder bist du über eine serielle Verbindung per Telnet auf einem Rechner, und willst dann dort lokal Daten in eine andere Shell bekommen?
Dann sende doch "export daten=33<ENTER>" danach liegt die 33 in der Umgebungsvariable "daten".
Ok ich hab das wohl nicht gut beschrieben. Ich habe ein Linux board (Es war einmal ein Router...) Nun erreiche ich die Shell 1 Über Telnet die Shell 2 über Rs232 und vermutlich auf einer Dritten läuft der Webserver. Nun würde ich gerne über Telnet und Rs232 daten in Variablen schreiben und an der jweils anderen Schnittstelle wieder auslesen können. Ziel ist es Daten via Rs232 und Telnet an die Weboberfläche und zurück zu verteilen
Du kannst mit mkfifo eine Pipe (virtuelle Datei) anlegen. In der einen Shell schreibst Du in die Datei, in der anderen liest Du die Datei aus. Das geht natürlich auch mit richtigen Dateien.
Sven schrieb: > Ich habe ein Linux board (Es war einmal ein Router...) Nun erreiche ich > die Shell 1 Über Telnet die Shell 2 über Rs232 und vermutlich auf einer > Dritten läuft der Webserver. Die genaue Konstellation leuchtet mir zwar immer noch nicht ein (was meinst du z.B. mit "Shell über Telnet erreichen"? der Login per Telnet erzeugt normalerweise eine neue Shell), aber es läuft wohl auf den Datenaustausch zwischen parallelen Shells auf dem selben Rechner hinaus. Dann lege im Filesystem eine Named-Pipe an (mkfifo), dann kannst du in einer Shell dort hineinschreiben (z.B. per "echo"), und in der anderen daraus lesen ("read").
Klaar danke hab mich so auf Variablen fixiert das ich die Datei vergessen hab mkfifo oder auch einfach eine datei auf Datenträger klappt wunderbar :) dankeschön
Auf einem Linux-System läuft nicht jede Komponete auf einer eigenen Shell. Über RS232 kommst Du direkt an die Konsole. Hier kannst Du alles erreichen und auch starten. Per SSH oder Telnet bekommst Du eine andere Shell (anderer Kontext). Jedoch kannst Du auch dort alles erreichen. Der Webserver läuft im Hintergrund und nicht auf einer eigenen Shell. Oft wird aber über Telnel oder SSH keine Shell, sondern ein anderes Programm gestartet, mit dem man eingeschränkten Zugang zum System hat.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.