Portátil para todos os shells e qualquer sistema que tenha seq (como esta pergunta está marcada)
Se o início for 1:
$ echo $(seq 10)
1 2 3 4 5 6 7 8 9 10
De outra forma:
$ echo $(seq 5 10)
5 6 7 8 9 10
Com bc:
$ echo $(echo "for (i=0;i<=1000;i++) i"| bc)
Na festança
echo {1..10}
Nota:
Essa solução de eco funciona se o valor do IFS contiver uma nova linha, o que ocorre por padrão.
Por padrão, o IFS é definido como a sequência <space><tab> <newline> . E é redefinido para cada início limpo do shell. Mas, se você tem alguma preocupação de que isso possa ter mudado em alguns casos extremos, temos várias soluções.
Sob bash, zsh, ksh, use: IFS = $ '\ t \ n' (pule todo o restante desta resposta).
No entanto, a redefinição do valor do IFS sob sh pode ser complexa. Leia os detalhes completos aqui .
Desativar IFS.
$ unset IFS; echo $(seq 5 10) #Always work.
sempre funcionará. Desde que não exista um código abaixo (ou scripts filho) que precise de um conjunto IFS, como um script necessário OldIFS="$IFS"
.
Solução correta.
Usando um truque para sh:
sh -c 'IFS="$(printf " \t\nx")"; IFS="${IFS%x}"; printf "$IFS"|xxd' # correct.
echo $(seq 1 10)