Ich lerne Korn Shell, die auf Bourne Shell basiert. Unten ist mein wirklich einfacher Code.Korn Shell Fehler [: fehlende `] '
read ab
if [ $ab = "a" || $ab = "A" ] ; then
echo hi
fi
Aus irgendeinem Grund ||
Betreiber mir den Fehler geben:
[: missing `]'
a: command not found
Die '' || interpretiert wird durch die Shell zu schreiben, nicht durch die '[' Befehl (ja, '[' ist ein Befehl). Also wird '[' mit Argumenten '$ ab =" a "' aufgerufen, und es beschwert sich über das fehlende ']'. Sie könnten '-o' verwenden, was der" oder "Befehl für' ['] ist, aber die Methode in @codeforester ist wahrscheinlich eine bessere Methode dafür. –
@KeithThompson - Ich habe verstanden, dass '-o' in der neueren Version von Bash veraltet ist. Ich bin mir nicht sicher über ksh. – codeforester
@codeforester, es ist eigentlich die POSIX-Spezifikation, die es veraltet markiert, keine bestimmte Shell. –