[lug-ld] Bash scripting

Jean-Jacques Sarton jj.sarton at t-online.de
Fr Dez 14 17:05:57 CET 2018


Am 14.12.18 um 14:00 schrieb alf at alfmoni.de:
> Danke für die Antworten!!!
> 
> Christian, die Überprüfungen habe ich eingebaut und im Fehlerfall gibt es einen Logeintrag... aber Danke für den Tipp!!
> 
> Das auslesen der von dir genannten „eine“ Datei ist kein Problem... aber wie ändere ich einzelne Zeilen in dieser Datei... es ändert sich ja nicht immer die komplette Datei, sondern nur einzelne Werte... mit echo >> Datei komme ich nicht weit...
> Grüße 
> Alf
> 
Ein Zauberwort könnte "ed" lauten, es ist aber für Hart gesottenen.

Jean-Jacques

> Am 14.12.2018 um 13:50 schrieb Christian Ehrhardt <Paelzer+lugld at gmail.com <mailto:Paelzer+lugld at gmail.com>>:
> 
>>
>>
>> On Thu, Dec 13, 2018 at 9:32 PM alf at alfmoni.de <mailto:alf at alfmoni.de> <alf at alfmoni.de <mailto:alf at alfmoni.de>> wrote:
>>
>>     Hallo Bash Profis ;)
>>
>>     Ich habe da ein Problem, für das ich zwar schon eine Lösung habe, aber ich mal wissen wollte wie da die allgemeine Vorgehensweise ist.
>>     Ich habe da ein Script,  wo ich Berechnungen ausführe... das Ergebnis habe ich als Variable im Script...
>>     Diese Variable will ich beim nächsten Ausführen des selben Scripts in die Berechnung aufnehmen... momentan mache ich das so, dass ich diesen Wert per Echo > Datei als Datei speichere.
>>     Wenn ich diesen Wert im Script brauche, definiere ich eine Variable mit cat (x=‘cat Datei’)
>>
>>
>> Schön ist die Lösung nicht, aber funktional alle mal.
>> Aber an der Stelle darauf achten, dass nichts unerwartetes ankommt und später zu Problemen führt.
>> Also wenigstens:
>> 1. Prüfen ob die Datei existiert [ -f ... ]
>> 2. Ggf prüfen das die Datei nur eine Zeile hat (wc -l o.Ä.)
>> 3. Sonderzeichen strippen (durch strings pipen)
>> 4. Je nach Variablenart prüfen ob der typ hinterher stimmt (Zahl, String, ...)
>> 5. Besser abbrechen bevor mit unerwartetem Inhalt gearbeitet wird
>>
>> Ich habe auch schon gesehen dass einfach das assignment in die Datei serialisiert wird.
>> Also die Datei (eine reicht) dann folgendes enthält:
>> var1="foo"
>> var2="bar"
>> var3="foobar"
>>
>> Das kann man dann ganz einfach einlesen mit:
>>    source Datei
>> Das wird den Inhalt ausführen und danach sind die Variablen zugewiesen.
>> Doch das hat wieder ein Vertrauensproblem, wenn jemand anderes code in die Datei packt wir auch der mit ausgeführt.
>>
>>     Ich bin da jetzt selbst drauf gekommen, habe es also nirgends gelesen oder so...
>>     Daher meine Frage an euch Spezialisten... Ist das eine normale Vorgehensweise und wie kann ich das anders machen...  vor allem, wenn ich da mehrere Werte “auslagere”... das wird dann recht unübersichtlich im Dateisystem...
>>
>>     Lg
>>     Alf
>>     _______________________________________________
>>     lug-ld mailing list
>>     lug-ld at lists.lug-ld.de <mailto:lug-ld at lists.lug-ld.de>
>>     http://lists.lug-ld.de/mailman/listinfo/lug-ld
>>
>> _______________________________________________
>> lug-ld mailing list
>> lug-ld at lists.lug-ld.de <mailto:lug-ld at lists.lug-ld.de>
>> http://lists.lug-ld.de/mailman/listinfo/lug-ld
> 
> _______________________________________________
> lug-ld mailing list
> lug-ld at lists.lug-ld.de
> http://lists.lug-ld.de/mailman/listinfo/lug-ld
> 


-------------- nchster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 195 bytes
Beschreibung: OpenPGP digital signature
URL         : http://lists.lug-ld.de/pipermail/lug-ld/attachments/20181214/c020232e/attachment-0001.pgp