Ich habe angefangen, Bash-Scripting zu lernen und verwende das Bash-Scripting-Tutorial
Dort steht es
Bevor Bash jede Zeile unseres Skripts interpretiert (oder ausführt), prüft es zunächst, ob Variablennamen vorhanden sind . Für jede identifizierte Variable wird der Variablenname durch seinen Wert ersetzt. Dann wird diese Codezeile ausgeführt und der Vorgang in der nächsten Zeile erneut gestartet.
Läuft Bash also zuerst das gesamte Skript durch, um Variablen zu finden? Ich bin mir nicht sicher, ob der Autor dies versucht hat, aber wenn ja, denke ich, ist es nicht korrekt?
wenn ich ausführe:
#!/bin/bash
echo "hello $USERR"
USERR=John
Ich bekomme hello
als Ergebnis.
Wenn ich renne:
#!/bin/bash
USERR=John
echo "hello $USERR"
dann bekomme ich hello John
als Ergebnis.
--
und nicht auf Fehler von Befehlen zu prüfen ...). Sicherheitsimplikationen des Vergessens, eine Variable in Bash / POSIX-Shells zu zitieren