加入收藏 | 设为首页 | 会员中心 | 我要投稿 文章分享网_茂名站长网 (https://www.0668zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Shell 循环语句用法概括

发布时间:2021-11-24 13:32:46 所属栏目:教程 来源:互联网
导读:在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出【哎,最近脑子不太好使了,在多种语言交叉编程时,常常切换不过来,犯低级错误】,废话不说,开始demo: 1、for 主要用于:在已知序列里遍历元素 [plain]

在写shell脚本时,常常会用到循环语句。这里简单总结下常用的3种循环语句,以便以后能快速地参考写出【哎,最近脑子不太好使了,在多种语言交叉编程时,常常切换不过来,犯低级错误】,废话不说,开始demo:
 
 
1、for
 
主要用于:在已知序列里遍历元素
 
[plain]
#! /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]
#! /bin/sh -  
  
for i in `seq 1 9`  
do  
        echo $i  
done  
注意:for in 可以和 `` 与 $() 合用,上面的for i in `seq 1 9`  也等价与 for i in $(seq 1 9)
 
 
再给一个for的用法示例:
 
[plain]
#! /bin/sh -  
  
for i in {a..z}  
do  
        echo $i  
done  
注意:for in 的大括号{}具有自动补齐功能,大括号与要补齐的内容之间不能有空格,要补齐的内容首尾由两个..相连,其间不能有空格
再给个for的用法示例:
 
[plain]
#! /bin/sh -  
  
for (( i=1; i<=10; i++ ))  
do  
        echo $i  
done  
提醒:这个主要是用了(())
 
 
2、while
 
主要用于:当某条件成立时,一直执行
 
 
 
[plain]
#! /bin/sh -  
  
cnt=9  
  
while [ $cnt -ge  0 ]  
do  
   echo  $((cnt--))  
done  
 
  注意:1、算术运算,需要放在$(()) 的括号中
 
      2、对于变量的算术运算,在$(())中,变量前面不需要$
 
 
 
3、unitl
 
主要用于:当某条件成立时,停止执行
 
 
 
[plain]
#! /bin/sh -  
  
cnt=9  
until [ $cnt -lt 0 ]  
do  
        echo $cnt  
        cnt=$((cnt - 1))  
done  
       注意:给变量赋值时,前面不要加$

(编辑:文章分享网_茂名站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读