Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 17. Nov 2018 22:06

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 07. Nov 2005 22:52 
Hallo!!

Ich versuche irgendwie schon die ganze Zeit was passendes zu finden.

Und zwar muss ich aus einer Datei 2 Werte auslesen und in Variable (x und y) speichern, damit ich danach in einer if Anweisung auf den Inhalt der Variablen reagieren kann.

Die Datei hat auch nur genau 2 Zeilen und in jeder Zeile steht genau ein Wert. Eigentlich müsste es ziemlich einfach sein...nur ich komm irgendwie nicht drauf.

Nach beenden der if-Anweisung sollte dann der Inhalt der Datei gelöscht werden.

Danke schonmal im Voraus!!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08. Nov 2005 8:37 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
In Variablen einlesen kann man in der Shell mittels read. Allerdings funktioniert
Code:
read A < $DATEI
read B < $DATEI
nicht, weil die Shell die Datei pro read-Kommando öffnet und schließt. In Variable A und B steht dann immer der Inhalt der ersten Zeile.

Wenn man Kommandos gruppiert, teilen sie sich den Dateideskriptor sozusagen. So geht's:
Code:
&#123; read A; read B; &#125; < $DATEI
Das erste read-Kommando liest die erste Zeile, das zweite die zweite Zeile.

Achte auf die Syntax! Das Leerzeichen zwischen dem letzten ; und } muss da stehen!

Jochen

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08. Nov 2005 10:46 
Vielen dank für die Antwort!!

Funktioniert prima!...jetzt hab ich aber ein etwas anderes Problem.
Bei dem weiterarbeiten mit den Variablen will ich eine Fall-Unterscheidung reinbringen,
hab im Netz aber nur if-Anweisungen gefunden die überprüfen ob die Varaible einen Wert hat und nicht auf den Inhalt der Variablen überprüfen...
Code:
if&#40;$x == 1&#41;
then
/etc/init.d/httpd start
fi
funktioniert z.B. nicht...
Code:
if&#40;$x&#41;
then
/etc/init.d/httpd start
fi
dagegen schon...
Was mache ich falsch??

Danke nochmal!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 08. Nov 2005 10:51 
ich hab die Lösung gefunden:
Code:
if &#91; "$x" = "1" &#93;; then
             <Befehl>
fi
so tuts....


aber trotzdem danke!!


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de