博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本编程-结构化命令3-while、until命令
阅读量:5019 次
发布时间:2019-06-12

本文共 1269 字,大约阅读时间需要 4 分钟。

1、while命令

(1)格式
while test command; do         commands    done
    while语句中的test command命令和if-then语句的相同。
    指定的test command的命令码随着循环中运行的命令改变,从而更新循环的退出状态。
(2)举例
$cat test    #!/bin/bash    #whiel command test     varl=3    while [ $varl -gt 0 ]; do        echo $varl        varl=$[ $varl - 1 ]    done    $./test    3    2    1

2、until命令

    格式:
until test command; do        commands    done
    until命令和while命令的工作方式完全相反。
    当test command的状态退出码为0时,循环结束。

3、控制循环

(1)break命令
    跳出单个循环,常用的方式是if-then语句中加入跳出条件;
    在处理多个循环时,break命令会自动处理最内层的循环;
    跳出外部循环,使用break n;n默认为1,当设为2时,跳出2层循环。
(2)contiune命令
    在循环内部设置shell不执行命令的条件;
    命令行参数指定继续多级循环:continue n,其中n定义了循环层数,默认为1。
#!/bin/bash    # break and contiune    val=0    while [ $val -lt 15 ]; do        val=$[ $val + 1]        if [ $val -lt 5 ]; then            echo "$val is too small"            continue        elif [ $val -gt 10 ]; then            echo "$val is too big"            break        fi    done

4、处理循环的输出

    在循环结构中,可以使用在done后面增加管道命令或者重定向命令处理循环的输出。
for file in /home/rich/*; do        if [ -d "$file" ]; then            echo "$file is a directory"        elif             echo "$file is a file"        fi    done > output.txt
    shell脚本会将执行的结果输出到文件中而不是显示在屏幕上。
    同时在循环输出时,可以使用管道命令对执行结果进行处理,如果done | sort 排序等。
    

转载于:https://www.cnblogs.com/hancq/p/5050141.html

你可能感兴趣的文章
杭电3784(继续xxx定律)
查看>>
PHP 的 HMAC_SHA1算法 实现
查看>>
深入理解javascript原型和闭包_____全部
查看>>
2016年中国的SaaS服务商企业研究
查看>>
HTML5:离线存储(缓存机制)-IndexDB
查看>>
9-5
查看>>
Laxcus大数据管理系统2.0(5)- 第二章 数据组织
查看>>
kafka入门样例 for java
查看>>
Redis存储AccessToken
查看>>
Use commons-email-1.1.jar+activation.jar+mail.jar to send Email
查看>>
hdu 2160 Sequence one(DFS)
查看>>
ATM实验感受
查看>>
csharp基础
查看>>
hdu4497 正整数唯一分解定理应用
查看>>
html5 拖曳功能的实现[转]
查看>>
[BZOJ 2049] [Sdoi2008] Cave 洞穴勘测 【LCT】
查看>>
java导出word[xml方式]
查看>>
mysql load_file()和 into outfile
查看>>
响应式布局编码
查看>>
微服务实战(三):深入微服务架构的进程间通信 - DockOne.io
查看>>