Последовательность printf в Bash с интерактивным вводом [дубликат]

В bash, как получить printf интерактивно вводить ввод для печати последовательности. Я пробовал следующее:

read x; read y; printf '%s\n' {"$x".."$y"..5}
0
40
{0..40..5}

откуда я пытаюсь получить такой вывод:

printf '%s\n' {0..40..5}
0
5
10
15
20
25
30
35
40
1
задан 18 November 2020 в 22:05

1 ответ

Проблема в том, что вы не можете использовать переменные таким образом в расширении скобок bash.

Вместо этого можно использовать seq:

read x; read y; printf '%d\n' $(seq "$x" 5 "$y")

или проще

read x; read y; seq "$x" 5 "$y"

или цикл for в стиле C:

read x; read y; for ((i=x;i<=y;i+=5)); do printf '%d\n' "$i"; done

см., например

4
ответ дан 18 November 2020 в 19:12

Другие вопросы по тегам:

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