shell 中的for循环
第一类:数字性循环
#!/bin/bash for((i=1;i<=10;i++)); do echo $(expr $i \* 3 + 1); done |
#!/bin/bash for i in $(seq 1 10) do echo $(expr $i \* 3 + 1); done |
#!/bin/bash for i in {1..10} do echo $(expr $i \* 3 + 1); done |
#!/bin/bash awk 'BEGIN{for(i=1; i<=10; i++) print i}' |
注意为双括号,分号隔开 for ((;;);do echo"无限循环"; done |
用法:seq [选项]... 尾数(默认从1开始) 选项: -f, 指定格式 -s, 指定分隔符(默认为: \n) -w, 等宽输出 -f 指定输出格式 #seq -f “%3g” 13 数字位数为三位,不足补空格 1 2 3 #seq -f “%03g” 1 3 数字位数为三位,不足补零 001 002 003 #seq -f "str%03g" 1 3 str001 str002 str003 -w 指定输出数字同宽,与-f部分作用相似,不可与-f选项同时使用 #seq -w 9 11 09 10 11 -s 指定分隔符,默认分隔符是/n(回车) #seq -s " " 1 5 空格作为分隔符 1 2 3 4 5 #seq -s "`echo -e "\t"`" 1 3 \t作为分隔符 1 2 3
|
echo {1..10} 打印1-10这些数字 {1..10} 不能带上引号,单双引号,反引号都不行 |
第二类:字符性循环
#!/bin/bash for i in `ls`; do echo $i is file_name\! ; done |
#!/bin/bash for i in $* ; do echo $i is input chart\! ; done |
#!/bin/bash for i in f1 f2 f3 ; do echo $i is appoint ; done |
#!/bin/bash list="rootfs usr data data2" for i in $list; do echo $i is appoint ; done |
第三类:路径查找
#!/bin/bash for i in /proc/*; do echo $i is file path; done |
#!/bin/bash for i in $(ls *.sh) do echo $i is file path; done |
来自:https://blog.csdn.net/weixin_41477980/article/details/85028408