Você precisa usar
while [ $line -lt $line_number ]; do
echo $line
done
ou
while [[ $line < $line_number ]]; do
echo $line
done
Dissociação [fonte]
Único []
são testes de condição compatíveis com o posix shell.
O dobro [[]]
é uma extensão do padrão []
e é suportado pelo bash e por outros shells (por exemplo, zsh, ksh). Eles suportam operações extras (assim como as operações posix padrão). Por exemplo: ||
em vez de -o
e regex correspondente a =~
. Uma lista mais completa de diferenças pode ser encontrada na seção manual do manual sobre construções condicionais .
Use []
sempre que quiser que seu script seja portável entre os shells. Use [[]]
se você quiser expressões condicionais não suportadas por []
e não precisar ser portável.