如何制作学校网站,职业技能培训机构,如何做一个微信公众号,深圳市住房和建设局网站住房保障Shell编程基础 – C语言风格的Bash for循环
Shell Programming Essentials - C Style For Loop in Bash
By JacksonML 循环是编程语言的基本概念之一#xff0c;同样也是Bash编程的核心。当用户需要一遍又一遍地运行一系列命令直到达到特定条件时#xff0c;例如#xff1…Shell编程基础 – C语言风格的Bash for循环
Shell Programming Essentials - C Style For Loop in Bash
By JacksonML 循环是编程语言的基本概念之一同样也是Bash编程的核心。当用户需要一遍又一遍地运行一系列命令直到达到特定条件时例如遍历一个序列或者数组那么循环非常方便。 实践证明在 Bash 等脚本语言中循环对于自动执行重复性任务很有用。 之前的帖子讲述过For循环的特点及其案例本文简要介绍具有C语言风格的Bash For循环。
1. 标准Bash的For循环
在编程语言中for循环很常见。标准for循环可遍历一个项目列表并执行给定的命令集。
举个例子我们来做字符串的遍历。 在下面的示例中循环将遍历字符串列表中的每个项目并且变量元素将设置为当前项目 编辑完毕后执行脚本文件element.sh。
[rootlocalhost sh]# sh element.sh结果如下图所示 2. 遍历数组元素
我们还可以使用 for 循环来遍历数组元素。
在下面的示例中我们将定义一个名为 cars 的数组并遍历数组的每个元素。
cars (‘Ford’, ‘Toyota’, ‘Acura’, ‘Hummer’, ‘Datsun’, ‘Mitsubishi’, ‘Jeep’, ‘Nissan’, ‘BMW’, ‘Chevrolet’, ‘BYD’)
for car in “${cars[]}”; doecho “Car: $car”
done执行结果如下图所示 3. C 样式的 Bash For 循环
C-style Bash for loop即C样式的Bash For循环它的语法结构如下
for ((INITIALIZATION; TEST; STEP))
doshell-command1......
doneINITIALIZATION 部分仅在循环开始时执行一次。然后对TEST部分进行评估。如果结果为 false则循环终止如果 TEST结果 为 true则执行 for 循环主体内的命令并更新 STEP 部分。
在下面的示例代码中初始化 i 0并在每次迭代之前检查 i 是否小于等于10。结果如果为 true则打印 i 的当前值并将变量 i 递增 1 i否则循环终止。
纵观C语言风格的for循环和传统Bash for循环有些许不一样能让人感受到C的风格。示例代码如下 运行结果如下图
4. C语言风格遍历数组
定义数组的规范如下
array( item1 item2 item3 ... itemN)我们尝试读取一个数组并且用C语言风格遍历这个数组的元素。代码如下
#!/bin/bash
# Define an array called fruits
fruits(Apple Mango Pineapple Banana Orange Papaya Watermelon)
# Get total elements in an arraylen${#fruits[*]} # Print it using C style bash for loop
for (( i0; ilen; i ));
doecho ${fruits[$i]}
done在Shell下编辑代码文件fruits.sh, 截图如下图 执行脚本 sh fruits.sh执行结果如下图所示 C风格的Shell编程着实让笔者为之一振小小的Shell脚本语言居然还有这个功能 但的确就是这样。
技术好文陆续推出敬请关注。
喜欢就点赞哈您的认可我的动力。
相关阅读
Shell编程案例 - 批量创建特殊要求账户Shell编程基础 - for循环Shell编程基础 - 变量(Variables)Shell编程基础 - Shell的位置参数Shell编程基础 - 编写输入输出Shell脚本