, которая также является внешней программой, что не означает, что она не является встроенной.
which [
/usr/bin/[
В одиночных квадратных скобках вы должны использовать -lt для псевдонима «меньше» <, в то время как в противном случае вы можете использовать <</p>
if [ 3 -lt 4 ] ; then echo yes ; fi
yes
if [ 3 < 4 ] ; then echo yes ; fi
bash: 4: No such file or directory
if [[ 3 < 4 ]] ; then echo yes ; fi
yes
if [[ 3 -lt 4 ]] ; then echo yes ; fi
yes
4: Нет такого файла, значит, он пытается прочитать из файла с именем "4" - перенаправить stdin <То же самое для> и stdout.