elecsnail的个人空间 https://bbs.21ic.com/?867354 [收藏] [复制] [RSS]

日志

Shell 循环语句用法小结

已有 1376 次阅读2013-3-13 13:41 |系统分类:兴趣爱好


在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出,废话不说,开始demo:


1、for


主要用于:在以知序列里遍历元素


[plain] view plaincopy #! /bin/sh -


if [ $# -ge 1 ]; then path=$@ else path=*.sh fi


for i in $path do ls -lh $i done注意:for循环的in列表时可选的,如果省略,shell会遍历整个命令行参数,此时 for i 相当于 for i in "$@"


再给一个for的用法示例:


[plain] view plaincopy #! /bin/sh -


for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 与 $() 合用


再给一个for的用法示例:


[plain] view plaincopy #! /bin/sh -


for i in {a……z} do echo $i done


注意:for in 的大括号{}具有自动补齐功能,大括号与要补齐的内容之间不能有空格,要补齐的内容首尾由两个……相连,其间不能有空格再给个for的用法示例:


[plain] view plaincopy #! /bin/sh -


for (( i=1; i<=10; i++ ))


do echo $i done提醒:这个主要是用了(())


2、while


主要用于:当某条件成立时,一直执行


[plain] view plaincopy #! /bin/sh -


cnt=9


while [ $cnt -ge 0 ] do echo $((cnt——))


done


注意:1、算术运算,需要放在$(()) 的括号中


2、对于变量的算术运算,在$(())中,变量前面不需要$


3、unitl


主要用于:当某条件成立时,停止执行


[plain] view plaincopy #! /bin/sh -


cnt=9 until [ $cnt -lt 0 ] do echo $cnt cnt=$((cnt - 1))


done


注意:给变量赋值时,前面不要加$


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)