Das funktioniert nicht, und jedes Mal führt die else-Klausel:bash if-Anweisung, Toggle
state=false
function toggle {
if [ ! $state ]
then
echo first
state=true
else
echo second
state=false
fi
}
Ich würde erwarten, dass toggle
mehrere Male anrufen würde zwischen „ersten“ und „zweiten“ abwechselnd Ausgang, aber stattdessen bekomme ich nur "zweite"
'-eq' ist für Zahlen,' = 'ist für Strings. – Barmar
Sie haben recht, ich habe etwas ganz anderes gemacht;) – chw21
Während dies funktioniert, schlage ich vor, dass Sie klarstellen, dass dieses _only_ wie vorgesehen mit '$ state' Werten von' false' und 'true' arbeitet und dass der Ansatz beruht auf der Ausführung des Variablenwerts - was auch immer es ist - _als ein Befehl_. – mklement0