Как передать значение переменной как значение последовательности раскрытия скобок?

Блок кода, в частности:

for n in {1..$PASSEDARGS}; do
      printf "%s\n" "$n"
done

Следующий блок кода не работает ' t работает, вместо этого он выводит {1..3} , где 3 - это значение числа аргументов, переданных скрипту.

Как заставить программу печатать аргумент в $ n ?

0
04.01.2017, 12:19
2 ответа

Использование синтаксиса цикла for, подобного C в Bash:

for (( i = 1; i <= PASSEDARGS; ++i )); do
  printf "%s\n" "$i"
done
0
28.01.2020, 05:05
for n in $(seq $#); do
      printf "%s\n" "$n"
      eval echo argument at $n: \$$n
done
-1
28.01.2020, 05:05

Теги

Похожие вопросы