shell的循环主要有3种,for,while,until

shell的分支判断主要有2种,if,case

一,for循环

#!/bin/bash  

for file in $(ls /tmp/test/mytest |grep sh)   //for in格式是shell for的基本格式,根js的for in类似
do //循环开始你就把它当成{
echo $file
done //循环结束你就把它当成} for ((i=;i<;i++)) //注意是双小括号,由于受其他语言的影响,很容易搞错
do
echo -n $i
done echo \ //输出换行 for i in
do
echo -n $i
done echo \ for i in "0 1 2 3 4 5 6 7 8 9" //这个根上面是有区别的,这个循环只循环了一次,双引号里面只是一个变量
do
echo -n $i
done exit
二,while循环

#!/bin/bash
i=
while ((i<))
do
echo $i
((i += ))
done i=
while [ $i -lt ] //注意括号内侧二边的空格
do
echo $i
let "i+=1" //加1
done
exit
三,until循环

#!/bin/bash  

END_CONDITION=end
until [ "$var1" = "$END_CONDITION" ] //读取的变量根设定的变量相等时退出循环,不然永远循环
do
echo "Input variable #1 "
echo "($END_CONDITION to exit)"
read var1
echo "variable #1 = $var1"
echo
done
exit
四,if语句

#!/bin/bash  

echo "Input a number #1 "
read num
echo "variable #1 = $num" if [ $num -lt ] //注意lt前面的-,很容易忘的
then
echo "you are not pass"
elif [ $num -lt ] && [ $num -ge ] //多个条件的判断
then
echo "pass"
elif [[ $num -lt && $num -ge ]] //如果放在一起,要注意是双方括号,不要写成[ $num -lt 85 && $num -ge 70 ]
then
echo "good"
elif (( $num <= )) && (( $num >= )) //对于有语言基础的人来说,这种写法让人觉得很舒服,不要忘了是双小括号
then
echo "very good"
else
echo "num is wrong"
fi //if要有结束标签的,根XML很像,不闭合,就报错 exit
五,case语句

查看复制打印?
#!/bin/sh
case $ in
start)
echo "start ok"
;; //注意一点,要注意是双分号
stop)
echo "stop ok"
;;
restart)
echo "restart ok"
;;
*)
echo "no param"
;;
esac //注意闭合标签
exit

[root@krlcgcms01 forif]# sh c1.sh stop

stop  ok

4

转载请注明

作者:海底苍鹰

地址:http://blog.51yip.com/shell/1132.html

shell循环,判断介绍,以及实例的更多相关文章

  1. [shell] 循环判断输入值

    做个记录 until [[ $flag == "yes" || $flag == "exit" ]] do read -p "请确认统一/合服前后数据 ...

  2. shell 脚本——判断条件

    在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及 ...

  3. Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)

    原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip   --> 将其下的 \ ...

  4. shell编程变量介绍与表达式详解

    shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...

  5. Shell实现判断进程是否存在并重新启动脚本

    Shell实现判断进程是否存在并重新启动脚本 - superbfly的专栏 - CSDN博客 https://blog.csdn.net/superbfly/article/details/52513 ...

  6. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  7. 关于pthread_cond_wait使用while循环判断的理解

    在Stevens的<Unix 环境高级编程>中第11章线程关于pthread_cond_wait的介绍中有一个生产者-消费者的例子P311,在进入pthread_cond_wait前使用w ...

  8. Shell脚本 判断

    #Linux系统Shell脚本判断变量文件目录:权限.是否存在.空值.相等 1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真str1 != str2 当串str1和str2不等时 ...

  9. Tstrings类简单介绍及实例

    用TStrings保存文件;var  S: TStrings;begin  S := TStringList.Create();  { ... }  S.SaveToFile('config.txt' ...

  10. js cookie介绍和实例(用于自动登录,记住用户名等)

    js cookie介绍和实例(用于自动登录,记住用户名等) 一.总结 1.cookie在客户端:因为js是最初是用来在客户端和服务器端进行通信使用的,所以客户端比如js可以操作cookie正常 2.c ...

随机推荐

  1. pq

    pq 题目描述 小q 的女朋友送给小q nn个整数.但是这些数太大了,小q 的女朋友拿不动,于是拜托小q把这些数减少一些. 小q 每次可以选择其中的两个x,yx,y (不能同时选择同一个数) 变成x− ...

  2. IPFS

    http://www.r9it.com/20190412/ipfs-private-net.html IPFS指令集中文版(一) https://www.jianshu.com/p/ce74b32d2 ...

  3. codevs 1380/HDU 1520 树形dp

    1380 没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 回到问题 题目描述 Description Ural大学有N个职员 ...

  4. iOS-Cocoapods更新不及时

    一.问题 使用cocoapods搜索某些库时,搜索到的版本低于Github上面的版本,这样会导致一些问题.例如我在使用一个LTNavigationBar这个库时,在我升级到iOS10的时候,会导致导航 ...

  5. 17.2.10 NOIP模拟赛 藏妹子之处(excel)

    藏妹子之处(excel) 问题描述: 今天CZY又找到了三个妹子,有着收藏爱好的他想要找三个地方将妹子们藏起来,将一片空地抽象成一个R行C列的表格,CZY要选出3个单元格.但要满足如下的两个条件: ( ...

  6. java常见设计模式简要总结

    设计模式六大原则 1.开放封闭原则:对扩展开放,对修改封闭,意即程序拓展时不要动原有的代码 2.LSP原则:任何基类可以出现的地方,子类一定可以出现 3.依赖倒置原则:使用接口,依赖于抽象而不是具体 ...

  7. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---25

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  8. Scrapy学习-23-分布式爬虫

    scrapy-redis分布式爬虫 分布式需要解决的问题 request队列集中管理 去重集中管理 存储管理   使用scrapy-redis实现分布式爬虫 github开源项目: https://g ...

  9. c#随机生成汉字、字母、数字

    /// <summary> /// 替换变量 /// </summary> /// <param name="content"></par ...

  10. maven更换阿里云仓库

    本来不想写,网上到处都是,不过好多到我这不行,自己记录下,省的到处找 D:\apache-maven-3.6.1\conf目录下setting.xml文件(这是我的解压的位置) <mirrors ...