[lug-ld] Bash scripting

Christian Ehrhardt Paelzer+lugld at gmail.com
Fr Dez 14 13:50:51 CET 2018


On Thu, Dec 13, 2018 at 9:32 PM alf at alfmoni.de <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
> http://lists.lug-ld.de/mailman/listinfo/lug-ld
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.lug-ld.de/pipermail/lug-ld/attachments/20181214/d3d097c2/attachment.htm