単純な bash while ループにより、0 という名前の不要なファイルが作成されます

単純な bash while ループにより、0 という名前の不要なファイルが作成されます

どういうわけか、次のコードを実行すると (もちろん最小化されていますが)、「0」というファイルが作成されます。なぜこのようなことが起こるのか、また、どうすれば回避できるのか、どなたか説明していただけないでしょうか。よろしくお願いします。

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

答え1

> 00.Note> somethingまたは同様の構文でファイルにリダイレクトします最後にある必要はないリダイレクトされるコマンドが意味をなさない場合でも、ファイルが作成されます。あなたの場合、コマンドは であり[ 1 ]、構文的に有効です。つまり、1が空でない文字列であるかどうかをチェックします。

おそらく を意味しているのでしょう。および[ 1 -gt 0 ]を参照してください。help [help test | less

関連情報