📜  shell 一行 for 循环 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:12.081000             🧑  作者: Mango

Shell 一行 for 循环

在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循环在命令行中执行和调试十分方便,但是如果需要执行的命令较多,建议仍然使用多行循环形式,以提高代码的可读性和易于维护。