В 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
Проблема в том, что вы не можете использовать переменные таким образом в расширении скобок 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
см., например