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

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Shell-Script zum auslesen von Dateiinhalten

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Martin K.
Gast





BeitragVerfasst am: 07. Nov 2005 22:52   Titel: Shell-Script zum auslesen von Dateiinhalten

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!!
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 08. Nov 2005 8:37   Titel:

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:
{ read A; read B; } < $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..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Martin K.
Gast





BeitragVerfasst am: 08. Nov 2005 10:46   Titel:

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($x == 1)
then
/etc/init.d/httpd start
fi

funktioniert z.B. nicht...
Code:

if($x)
then
/etc/init.d/httpd start
fi

dagegen schon...
Was mache ich falsch??

Danke nochmal!
 

Martin K.
Gast





BeitragVerfasst am: 08. Nov 2005 10:51   Titel:

ich hab die Lösung gefunden:

Code:

if [ "$x" = "1" ]; then
             <Befehl>
fi


so tuts....


aber trotzdem danke!!
 

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

 
Gehen Sie zu:  

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