einfache Bash while-Schleife erstellt eine unerwünschte Datei mit dem Namen 0

einfache Bash while-Schleife erstellt eine unerwünschte Datei mit dem Namen 0

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

> 0leitet zu einer Datei mit dem Namen 0.Note > somethingoder 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 1es sich um eine nicht leere Zeichenfolge handelt.

Sie meinten wahrscheinlich [ 1 -gt 0 ]. Siehe help [und help test | less.

verwandte Informationen