Bash
1 基础知识
– bash的for是经常用到的循环,本章用于记录for的使用方法
– 由于for循环使用方法众多,本章会不断收集和更新
2 最佳实践
2.1 迭代对象
2.1.1 迭代字符串
for i in abc def ghi; do echo "$i"; done
以上默认以空格为字符串的分割符号,常见的是你可以配合变量使用,
str="abc def ghi" for i in $str; do echo "$i"; done
2.1.2 迭代文件列表
for i in `ls /tmp/`; do echo "$i"; done
另外,由于文件夹名称或文件可能包含空格(空格默认为换行符),所以迭代文件名最好指定回车为换行符,
IFS=$'\n' for i in `ls /tmp/`; do echo "$i"; done
2.1.3 迭代数字范围
for i in {1..5}; do echo "$i"; done
2.1.4 迭代数组
array=('abc' 'def' 'ghi') for i in "${array[@]}"; do echo "$i"; done
2.2 计数器
2.2.1 递增计数
for ((i=0; i<=10; i++)); do echo "$i"; done
另外,可以指定递增步长,
for i in $(seq 10 +10 30); do echo "$i"; done
2.2.2 递减计数
for ((i=10; i>=0; i--)); do echo "$i"; done
另外,可以指定递减步长,
for i in $(seq 30 -10 10); do echo "$i"; done
2.2.3 无限计数
for ((;;)); do echo "infinite loops [ hit CTRL+C to stop]" done
2.3 跳出循环
2.3.1 单次跳出循环
for ((i=0; i<=10; i++)); do if [ $i == 5 ]; then continue fi echo "$i"; done
2.3.2 终止循环
for ((i=0; i<=10; i++)); do if [ $i == 5 ]; then break fi echo "$i"; done
参阅文档
=================
https://www.cyberciti.biz/faq/bash-for-loop/
没有评论