Установка диапазона цикла в 20 так работает нормально:

$ cat test.sh

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

Но как мне установить ограничение по количеству, используя arg из командной строки?

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

$ ./test.sh 55

{1..55}

1 ответ1

0

Чтобы расширить то, что у вас уже есть, вы можете использовать eval.

#!/bin/bash

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .