Ich bin sehr neu im Bash-Scripting und versuche mit diesem kleinen Skript, das einfach nach einer Reihe von Zahlen fragt, zu üben. Ich würde ex eingeben. 5..20 und es sollte den Bereich drucken, aber es ist nur Echo zurück, was ich auch eingeben ("5..20" in diesem Beispiel) und die Variable nicht erweitert. Kann mir jemand sagen, was ich falsch mache?
Skript:
%Vor%eval
und Befehlssubstitution $()
eval
ist schlecht, weil Sie Ihre Eingaben bereinigen müssen, da die Benutzer Bereiche wie rm -rf /;
und eval
eingeben können, die function
, es ist nicht POSIX und wurde veraltet read
's -p
flag anstelle von echo Aber zu Lernzwecken würden Sie das so machen:
%Vor% Hinweis: In diesem Fall ist die Verwendung von eval
in Ordnung, weil Sie nur echo
im Bereich
Verwenden Sie ${}
für die variable Erweiterung. In Ihrem Fall wäre das $ {range}. Sie haben das $ in $ {} weggelassen, das für die variable Erweiterung und Ersetzung verwendet wird.
Tags und Links bash