-
#!/bin/bash
获取输入参数。
stringline=$1
长度。 length=`expr length $stringline`
echo "length=$length"
计数器。 count_tmp=1
sum=0 按顺序计算,直到最后。
而 [ count tmp -le $length ]do tmp= expr substr $stringline $count tmp 1 从 count tmp 的开头开始获取一个字符。
echo $tmp
计数 tmp=$[$count tmp+1] 增量。
sum=$[$sum+$tmp] 和结果。
echo "sum=$sum"
done你可以在上面修改它,并且可以对输入范围等进行容错。
-
我真的不明白。
你可以举个例子。
例如:输入什么。
结果输出什么,使其更直观。
-
摘要: Linux, Shell
shell 中的常见循环是 for 和 while
for 循环只能用于固定数量的循环,因此不能无限期地使用,并且对于某些已经在后台守护进程中运行的程序,如下所示。
它也可以写成一行,用 ; 分开。
值列表中的元素用空格分隔,如果元素有空格,则用引号括起来,如下所示。
输出如下,可以看出循环在最后退出循环,引用变量仍然是最后一个值列表元素。
如何写一行。
shell 的 for 循环也可以用 C 语言写成,注意是双括号,带分号; 间隔。
一个简单的例子。
while loop 语句与条件测试结合使用,语法如下:
下面是一个示例。
例如,在循环中使用条件测试来实现复杂的逻辑。
也可以用&&,一行完成,省略if、fi
shell 的 continue 和 break 语句与 Python 的 continue 和 break 语句相同,如下例所示。
4 在 break 语句中输出
continue 语句输出 4 6 7 8 9 10
循环体的常见组合包括序列、数组、命令行参数、文件目录和文件。
序列由 seq 命令或符号定义:
结合用于循环用例。
在 shell 中使用括号 () 定义数组,使用 [@符号 进行数组遍历以防止元素有空格并用双引号括起来,如下所示。
命令行参数遍历使用固定符号 $@如果参数中有空格,用双引号括起来,如下所示。
文件遍历使用 ls 命令指定目录以及通配符匹配项。
双循环实现,注意expr 表达式应乘以传输字符
2) 将一个目录中大小大于阈值的文件移动到另一个文件。
遍历一个目录的循环,使用 awk 语法获取文件大小,将超过 100m 的文件移动到另一个文件夹。
2) 指定开始日期和结束日期以完成批量运行任务。
指定开始时间和结束时间,同时通过日期 -d 从开始日期递增到结束日期循环到日期结束'2021-01-01 1day'+y-%m-%d 递增一天。
没有优点和缺点,只是不同的场合。 for循环更适合循环的开始和结束已知,循环数量固定的场合; 而循环更适合条件不确定的情况。
发电厂的循环水系统用于冷却已完成工作的蒸汽。 蒸汽在汽轮机中工作后,压力降低,体积增大,为了减小其体积,送入给水泵进行压缩时需要减小。 它是用循环水冷却蒸汽,使蒸汽变成水,体积减小,循环水温度升高,然后由冷却塔冷却,温度降低后继续用于蒸汽冷却。 >>>More