$ cat fromhere.sh
#!/bin/bash
FROMHERE=10
for i in $(seq $FROMHERE 1)
do
echo $i
done
$ sh fromhere.sh
$
它为什么不起作用?
我找不到任何搜索谷歌降序循环的例子,甚至没有变量。为什么?
降序循环变量bash
$ cat fromhere.sh
#!/bin/bash
FROMHERE=10
for i in $(seq $FROMHERE 1)
do
echo $i
done
$ sh fromhere.sh
$
它为什么不起作用?
我找不到任何搜索谷歌降序循环的例子,甚至没有变量。为什么?
降序循环变量bash
应指定与NGF的增量:
seq $FROMHERE -1 1
你可能会喜欢的,而不是产卵外部序列猛砸内置壳牌算术:
i=10
while ((i >= 1)); do
echo $((i--))
done
Bash有一个for
循环语法以此目的。没有必要使用外部seq
实用程序。
#!/bin/bash
FROMHERE=10
for ((i=FROMHERE; i>=1; i--))
do
echo $i
done
环向下与(停止播放)
for ((q=500;q>0;q--));do echo $q ---\>\ `date +%H:%M:%S`;sleep 1;done && pkill mplayer
500 ---> 18:04:02
499 ---> 18:04:03
498 ---> 18:04:04
497 ---> 18:04:05
496 ---> 18:04:06
495 ---> 18:04:07
...
...
...
5 ---> 18:12:20
4 ---> 18:12:21
3 ---> 18:12:22
2 ---> 18:12:23
1 ---> 18:12:24
图案:
for ((...)); do ... ; done
例如
for ((i=10;i>=0;i--)); do echo $i ; done
结果
10
9
8
7
6
5
4
3
2
1
0
与同时: 第一步
AAA=10
然后
while ((AAA>=0));do echo $((AAA--));sleep 1;done
或: “AAA--” 到而
while (($((AAA-- >= 0))));do echo $AAA;sleep 1;done
“睡眠1”是不需要
他可以用{} 10..1太 – marco 2011-01-13 11:48:36