专题 (三) 循环遍历
1、for
(1) for 循环 使用 (())
local _data_size=${#database_pool[@]} for ((j=1;j<=_data_size;j++)){ _map_str=${database_pool[$j]} echo $_map_str }
使用方法和java的语法有些类似
2、while
(1) 循环是一个条件
num=1 while [ $num -le 10 ] do SUM=`expr $num \* $num` echo $SUM num=`expr $num + 1` done
(2) 循环条件是一个固定值
num=1 while true do if [ $i -ge 3 ];then break; fi let num++ done
3、实战
(1) 遍历某个目录下的所有文件
第一种方法
1 2 3 | for file in $dir/*; do echo $file #输出的是file的绝对路径 done |
第二种方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #! /bin/bash function read_dir(){ for file in `ls $ 1 ` #注意此处这是两个反引号,表示运行系统命令 do if [ -d $ 1 "/" $file ] #注意此处之间一定要加上空格,否则会报错 then read_dir $ 1 "/" $file else echo $ 1 "/" $file #在此处处理文件即可 fi done } #读取第一个参数 read_dir $ 1 |
(2) 遍历文件中的每行
while read line;do #过滤注释 if [ `grep -e '^\s*#' $line |wc -l` -ne 0 ];then continue fi echo $line let i++ done < $service_status_conf
1 2 3 4 | for LINE in `cat $file` do echo $LINE done |
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~