Ich bin ganz neu in das Thema Bash Skript eingestiegen. Schon bei den ersten Test-Ausgaben ist mir aufgefallen, dass eine Mischung aus festem Text und dem Inhalt einer Text-Variablen nicht den erwarteten String ergibt. Mir ist schon klar, dass das eine Frage nach den einfachsten Grundlagen ist. Aber alle gefundenen Beispiele mit dieser Mischung funktionieren bei mir nicht korrekt, sondern lassen Zeichen aus und/oder verdrehen die Reihenfolge. Dazu ein Beispiel:
#!/bin/bash
#
VAR1="abcdefghi"
VAR2="def"
VAR3="abc${VAR2}ghi"
VAR4="abc${VAR2}ghijkl"
echo "$VAR1"
echo "$VAR2"
echo "$VAR3"
echo "$VAR4"Ausgabe:
abcdefghi def ghidef ghijkl
Bei VAR3 wäre ja „abcdefghi“ zu erwarten. Aber „abc“ wurde weggelassen und „def“ kommt erst nach „ghi“.
Und bei VAR4 wäre ja „abcdefghijkl“ zu erwarten. Aber „abcdef“ wurde weggelassen.
Wer kann mir erklären wo der Fehler liegt?
Hintergrund-Info: Ich verwende Ubuntu 24.04.2 LTS und aktualisiere ständig. Als Editor für das Skript habe ich „Geany“ verwendet. (Da wird ganz unten angezeigt: … EOL:CRLF Kodierung:UTF-8 …)