Ожидается целочисленное выражение

Я хочу прочитать свои файлы построчно каждые 5 секунд. На этот раз я просто попробовал сделать это с помощью однострочной команды bash. И команда bash:

let X=1;while [ $X -lt 20 ];do cat XXX.file |head -$X|tail -1;X=$X+1;sleep 5;done

Однако я получил ошибку вроде:

-bash: [: 1+1: integer expression expected

В чем проблема? кстати, почему мы не можем сделать $ X <20? (Вместо этого мы должны использовать -lt, меньше чем?)

thx

11
задан Keith Thompson 18 August 2011 в 16:23
поделиться