
Aus unerklärlichen Gründen wird beim Ausführen des folgenden Codes (natürlich minimiert) eine Datei mit dem Namen „0“ erstellt. Kann mir bitte jemand erklären, warum das passiert und wie man es vermeiden kann? Vielen Dank
#!/bin/bash
while [ 1 > 0 ]
do
exit
done
Antwort1
> 0
leitet zu einer Datei mit dem Namen 0
.Note > something
oder einer ähnlichen Syntax weiter.muss nicht am Ende sein. Die Datei wird erstellt, auch wenn der umgeleitete Befehl keinen Sinn ergibt. In Ihrem Fall wird der Befehl erstellt [ 1 ]
und ist syntaktisch gültig: Es wird geprüft, ob 1
es sich um eine nicht leere Zeichenfolge handelt.
Sie meinten wahrscheinlich [ 1 -gt 0 ]
. Siehe help [
und help test | less
.