Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Problem mit den Linux-Bash-Variaben

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Holger
Gast





BeitragVerfasst am: 09. März 2003 0:08   Titel: Problem mit den Linux-Bash-Variaben

OK:
Folgendes Problem:
Ich arbeite an einem Script, das auf bestimmte Variablen unterschiedlich reagiert.
Wenn ich jetzt eine variable XYZ=abc in der Shell setze, dann erkenn die Shell die zwar (d.h. ich kann sie mir per ECHO $XYZ anzeigen), aber wenn ich sie mir im Script per echo $XYZ anzeigen will, dann kommt da nix ... wie bekomm ich die variable nun rein?
muss ich die anders setzen um sie z.b. GLOBAL, also für alle scripts zugängig zu machen oder wie macht man das?

sorry für diese bescheuerte frage, aber ich lerne eben gerne dazu und DANKE AN ALLE DIE HIER HELFEN!!!!
 

Andreas B.
Gast





BeitragVerfasst am: 09. März 2003 1:09   Titel: Re: Problem mit den Linux-Bash-Variaben

global

export $LFS=/mnt/lfs

;)
 

Andreas B.
Gast





BeitragVerfasst am: 09. März 2003 1:53   Titel: Re: Problem mit den Linux-Bash-Variaben

edit
export LFS=/mnt/lfs
 

Holger
Gast





BeitragVerfasst am: 09. März 2003 7:16   Titel: Re: Problem mit den Linux-Bash-Variaben

danke für deine hilfe!
jetzt komme ich endlich weiter.
ich bin zwar ein noob, arbeite aber schon ganz gut drauf ... LINUX IST DAS BESTE Wink
so ich arbeite nähmlich an start-scripts für einen gameserver. wenn ich damit fertig bin kann ich das ganze auch per webinterface (PHP RULT! Very Happy) steuern ... das wird auf der nächsten lan-party ein neuer kracher ;)

DANKE AN ALLE DIE HIER SO FLEIßIG MITHELFEN!!!!!
DANKE DAS ES EUCH GIBT!!!!!
 

Holger
Gast





BeitragVerfasst am: 09. März 2003 13:49   Titel: Re: Problem mit den Linux-Bash-Variaben

also ich nochmal:

wieder ein problem:

wenn ich die variablen im der console mit EXPORT XYZ="variableninhalt" setze funzt das. fürhre ich aber wiederum ein script aus, das die variablen mit EXPORT XYZ="variableninhalt" setzen soll, funzt das wieder nicht ... wie bekomme ich die variable AUS dem script ins SYSTEM und dann wieder IN EIN ANDERES SCRIPT???
 

Jochen
Gast





BeitragVerfasst am: 09. März 2003 14:08   Titel: Re: Problem mit den Linux-Bash-Variaben

Gar nicht. Das ist ein Feature, kein Bug.

Wenn Du eine Variable exportierst, stellst Du sie ins sogenannte "Environment" Deines Prozesses. Rufst Du nun ein Skript auf, wird dafür ein neuer Prozess als Kopie des aufrufenden Prozesses erzeugt. Daher ererbt der Kindprozess auch die Environment-Variablen. Konsequenz: Nach einem "export X=y" wird die Shellvariable X zur Umgebungsvariablen X und aufgerufene Programme können auf X zugreifen. Wenn nun ein solcher Kindprozess seine Umgebungsvariable X ändert, passiert mit der Umgebungsvariablen X des Elternprozesses gar nichts. Schliesslich sind es ja zwei unterschiedliche Prozesse, jeder mit seinem eigenen Environment!

Kanonische Lösung: Wenn Du eine Umgebungsvariable durch Kindprozesse verändern lassen willst, verwende die Kommandosubstitution.
code:
#!/bin/bash
X=y
export X
X=$(mein-untergeordnetes-Skript)
# alternativ die alte sh-Schreibweise: X=`mein-untergeordnetes-Skript`
echo $X


Die Shell führt "mein-untergeordnetes-Skript" aus und ordnet alles, was das Skript auf die Standardausgabe schreibt, der Variablen X zu.

Jochen
 

Holger
Gast





BeitragVerfasst am: 09. März 2003 15:02   Titel: Re: Problem mit den Linux-Bash-Variaben

das heist ich muss auf dem cfg-script heraus (welches die variablen setzt) das eigentliche start-script aufrufen .... gut ich probiers mal!
 

Holger
Gast





BeitragVerfasst am: 09. März 2003 15:13   Titel: Re: Problem mit den Linux-Bash-Variaben

also das funktionier auf jeden fall erst mal ... nur bin ich mit dem ergebniss noch nciht ganz zu frieden ... wie kann man das denn "UMKEHREN???"
 

max



Anmeldungsdatum: 14.05.2000
Beiträge: 806
Wohnort: Ruhrpott

BeitragVerfasst am: 10. März 2003 8:19   Titel: Re: Problem mit den Linux-Bash-Variaben

Tipp:
du kannst in einer/n Shell/Skript auch anders andere Skripte aufrufen.
. skriptname
punkt-leerzeichen-skriptname
Das bewirkt das dieses in der gleichen Shell gestartet wird und Variablen die dort setzt auch im eigentlichen Skript zur Verfügung stehen.
JEtzt kannst du in diesen Skript nichts anderes tun als Variablen setzen.
GRuss Max
 
Benutzer-Profile anzeigen Private Nachricht senden

petameta
prolinux-forum-admin


Anmeldungsdatum: 14.02.2003
Beiträge: 1294

BeitragVerfasst am: 12. März 2003 0:14   Titel: Re: Problem mit den Linux-Bash-Variaben

Wäre es nicht evtl. einfacher, den Variablenwert in eine Datei zu schreiben, dadurch könnten die Skripte getrennt voneinander ablaufen.

Würde ungefähr so aussehen:

Abspeichern der Variablen: echo $XYZ > tmpfile

Wiedereinlesen in einem anderen Skript: XYZ = 'cat tmpfile'

Hat so seine Vor- und Nachteile, kommt drauf an, was genau du machen willst.


Zuletzt bearbeitet von petameta am 12. März 2003 0:14, insgesamt 2-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy