Bash: configuração para o intervalo de loop via cli arg?

0

Definir o intervalo de loop for para 20, como este funciona bem:

$ cat test.sh

#!/bin/bash
for i in {1..20}; do
  echo "$i"
done

Mas como eu defino o limite de contagem usando um argumento da linha de comando?

for i in {1.."$1"}; do
  echo "$i"
done

$ ./test.sh 55

{1..55}

    
por user762744 18.08.2017 / 21:48

1 resposta

0

Para ampliar o que você já tem, você pode usar o eval.

#!/bin/bash

for i in $(eval echo {1.."$1"}); do
  echo "$i"
done
    
por 18.08.2017 / 21:57