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!!
Shell-Script zum auslesen von Dateiinhalten
In Variablen einlesen kann man in der Shell mittels read. Allerdings funktioniertnicht, 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: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
Code: Select all
read A < $DATEI
read B < $DATEI
Wenn man Kommandos gruppiert, teilen sie sich den Dateideskriptor sozusagen. So geht's:
Code: Select all
{ read A; read B; } < $DATEI
Achte auf die Syntax! Das Leerzeichen zwischen dem letzten ; und } muss da stehen!
Jochen
Die grösste Lüge der EDV? "Mal eben..."
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...
funktioniert z.B. nicht...
dagegen schon...
Was mache ich falsch??
Danke nochmal!
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: Select all
if($x == 1)
then
/etc/init.d/httpd start
fi
Code: Select all
if($x)
then
/etc/init.d/httpd start
fi
Was mache ich falsch??
Danke nochmal!
ich hab die Lösung gefunden:
so tuts....
aber trotzdem danke!!
Code: Select all
if [ "$x" = "1" ]; then
<Befehl>
fi
aber trotzdem danke!!