📅  最后修改于: 2023-12-03 15:05:12.081000             🧑  作者: Mango
在Shell脚本中,for循环是非常常用的语句之一。在实际的工作中,有时会遇到只需要单行for循环的情况,此时我们可以选择使用一行for循环。一行for循环通常用于在命令行直接执行脚本。
for var in val1 val2 val3 ... valN; do command1; command2; ...; commandN; done
其中,var
是我们定义的变量名,val1 val2 val3 ... valN
是变量值的列表,用空格隔开。command1
, command2
等是需要循环执行的命令,使用分号 ;
进行分隔。
假设我们有一个名为 test.txt
的文本文件,其中每行都有一个数字,我们要求对这些数字进行求和,可以使用如下一行for循环:
total=0; for num in $(cat test.txt); do total=$(($total+$num)); done; echo "Total: $total"
该循环首先定义变量 total
并初始化为 0
,然后使用 cat
命令读取 test.txt
文件中的每一行。对于每个数字 num
,将其加入到 total
中,并最终输出 total
的值。
;
进行分隔;一行for循环在命令行中执行和调试十分方便,但是如果需要执行的命令较多,建议仍然使用多行循环形式,以提高代码的可读性和易于维护。