простой цикл bash while создает нежелательный файл с именем 0

простой цикл bash while создает нежелательный файл с именем 0

По какой-то необъяснимой причине, когда я запускаю следующий код (минимизированный, очевидно), создается файл с именем "0". Может кто-нибудь объяснить, почему это происходит, и как этого избежать? Большое спасибо

#!/bin/bash
while [ 1 > 0 ] 
    do
        exit
    done

решение1

> 0перенаправляет в файл с именем 0. Примечание > somethingили аналогичный синтаксисне обязательно должен быть в конце. Файл будет создан, даже если перенаправляемая команда не имеет смысла. В вашем случае команда есть [ 1 ]и она синтаксически верна: она проверяет, 1является ли строкой непустой.

Вы, вероятно, имели в виду [ 1 -gt 0 ]. Смотрите help [и help test | less.

Связанный контент