ich habe ein bash script, welches ich ein parameter (die "config/datei_mit_vielen_werten" datei") beim scriptstart mit angeben/mitgeben/übergeben kann (./script.sh datei_mit_vielen_werten)
, funktioniert soweit auch alles super, nun wollte ich ein echte .conf datei, also die unter /etc ihren Wohnort in der Regel hat, erstellen mit eval aber leider bekomme ich immer ein Fehler (eval: line 25: unexpected EOF while looking for matching `"')&(eval: line 26: syntax error: unexpected end of file), das eval nach einem Hochkomma " bei dem Zeilenende erwartet, da aber die echte .conf Datei über Zeilen geht geht das so halt nicht, nun suche ich eine Möglichkeit wie ich eval beibringen kann mir doch eine echte .conf Datei zustellen, aus der Datei "datei_mit_vielen_werten", siehe unten code*, in der Datei "datei_mit_vielen_werten" dient als Quelle, und eval soll am Ende, die Werte aus der "datei_mit_vielen_werten" in eine Zieldatei schreiben.
Danke
Hauptscript Code-Auszug
Code: Alles auswählen
#!/bin/bash
...
while read line; do
eval $line ; $(echo "$WORKAROUNDBEFORE")
done < $ROOTDIR/config/"$1"
...
Code: Alles auswählen
WORKAROUNDAFTER="echo hallo test :-)"
WORKAROUNDAFTER="cat >$BUILDDIR/$EXTNAMESRC/conf/nhttpd.conf <<EOF
# $nostromo: nhttpd.conf-dist,v 1.22 2016/04/12 18:54:16 hacki Exp $
# MAIN [MANDATORY]
servername localhost:12345
#servername www.nazgul.ch:8080
serverlisten *
#serverlisten 81.221.21.250 127.0.0.1 ::1
serveradmin webblaster@nazgul.ch
serverroot /mnt/bla/serverroot
servermimes /mnt/bla/mimes/mimes
docroot /mnt/bla/
docindex index.html
EOF"
Was ich gerne hätte das der code zwischen "<<EOF" und EOF in der Zweiten Zeile (WORKAROUNDAFTER) in einer Datei steht, nachdem eval diese Werte von der "datei_mit_vielen_werten" in eine andere Datei schreiben tut.
Danke