[linux][bash][scripting] Ein fehlendes newline in einer Textdatei bringt stundenlangen Fehlersuchspaß...

in #deutsch6 years ago (edited)

und anschließend: Kopf-->Tisch... Stay updated & follow me on steemit: free images, art, linux, seo & more

Als Anfänger im bash scripting hole ich mir immer wieder mal eine blutige Nase.

Das ist eingeplant. Denn nur mit einer ausreichend verhornten Nase kann man sich (theoretisch) einigermaßen in den nahezu unüberschaubaren Untiefen des bash-Universums bewegen.

Woher aber soll ich als Neuling wissen, daß ich, wenn ich per

translationinput=$TRANSLATIONFILE
    while IFS= read -r TRANSLATIONINPUTLINE; do
         if [[ $TRANSLATIONINPUTLINE == *translation* && $TRANSLATIONINPUTLINE == *PHOTOTRANSLATIONTAG* ]] ; then
            PHOTOTRANSLATIONTAG=$(echo ${TRANSLATIONINPUTLINE:50})
        fi
        if [[ $TRANSLATIONINPUTLINE == *translation* && $TRANSLATIONINPUTLINE == *MADETRANSLATIONTAG* ]] ; then
            MADETRANSLATIONTAG=$(echo ${TRANSLATIONINPUTLINE:50})
        fi
        if [[ $TRANSLATIONINPUTLINE == *translation* && $TRANSLATIONINPUTLINE == *FROMTRANSLATIONTAG* ]] ; then
            FROMTRANSLATIONTAG=$(echo ${TRANSLATIONINPUTLINE:50})
        fi
    done < "$translationinput"

einen Bereich einer Datei (hier ab dem 50ten Zeichen einer line) parsen lasse, ich am Ende der letzten line innerhalb der Datei noch ein abschließendes newline hinzufügen muß, damit das letzte if-statement getriggert wird und ich auch tatsächlich einen Wert erhalte?

Am echo lag es nicht: Es funktionierte auch mit printf nicht... das if-statement wurde erst getriggert, nachdem ich der letzten line innerhalb der Datei ein newline hinzugefügt habe.

Zum Glück habe ich den Fehler noch vor dem Einschlafen selbst gefunden... ~:-)

P.S.: Wo war wohl mein Denkfehler? Ich habe zwar viele Informationen im Netz gefunden, aber keine davon bezog sich auf diese Erfahrung. Liegt eventuell daran, daß die alle besser scripten können...

Sort:  

Well done @klippengeist! You successfully guessed the match result.

Group Phase - Belgium vs Panama
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard!


Do you like the SteemitBoard Corld Cup Contest?
Vote for @steemitboard as a witness and get one more award!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63811.50
ETH 2617.28
USDT 1.00
SBD 2.77