Ich lerne Bash-Skript und ich schrieb etwas, um es besser zu verstehen. Aber unterhalb von Code verwirrt mich wirklich.Positionsparameter in If-Bedingung funktioniert nicht wie es sollte
#!/bin/bash
ifEqual() {
if [ "$3"="$1" ] ; then
echo "$2=$1"
else
echo "heiheihei"
fi
}
ifEqual "111" "666"
Wenn ich diese .sh-Datei aufrufen, wird es "666 = 111" drucken. Aber die Funktion hat nicht einmal einen dritten Parameter. Ich erwarte, dass dieser Code "heiheihei" druckt. Kann mir jemand erklären, was hier passiert? Vielen Dank im Voraus!
Dies ist effektiv ein Duplikat von http://stackoverflow.com/questions/9581064/why-should-be-there-a-space-after-and-before-in-the-bash-script, obwohl dies technisch ist nach verschiedenen fehlenden Räumen fragen. –