Не уверен почему вы усложняете работу с ручными циклами, когда в bash
встроены идеально хорошие C-подобные циклы:
fn() {
echo $1
#printf "%2d * %2d = %3d\n" $chrono $chrono $((chrono * chrono))
}
for ((chrono=10; chrono > 0; chrono--)); do fn $chrono ; done
for ((chrono=1; chrono <= 10; chrono++)); do fn $chrono ; done
Вы можете просто изменить секции циклав зависимости от того, что вам действительно нужно , текущее значение составляет от десяти до одного включительно, а затем от одного до десяти включительно, поэтому дублирует 1
.Например, если вам не нужен дубликат, просто измените первую секцию второго цикла на chrono=2
.
Вы также можете выполнить произвольно сложные операции со значением с помощьюФункция fn
(например, закомментированный бит, который дает вам красиво отформатированный список выражений, дающий квадрат каждого числа, например 10 * 10 = 100
).Текущая функция просто отображает значение:
10
9
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9
10