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. [AHOI2014&&JSOI2014][bzoj3876] 支线剧情 [上下界费用流]

    题面 传送门 思路 转化模型:给一张有向无环图,每次你可以选择一条路径走,花费的时间为路径上边权的总和,问要使所有边都被走至少一遍(可以重复),至少需要花费多久 走至少一遍,等价于覆盖这条边 也就是说 ...

  2. idea工具开发注意事项

    pom.xml中不需要有包 <dependency> <groupId>javax</groupId> <artifactId>javaee-api&l ...

  3. hdoj 4293 Groups

    Groups Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  4. pat 团体天梯赛 L3-007. 天梯地图

    L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...

  5. 【BZOJ4542】大数(莫队)

    题意:给定一个N位的由[0..9]组成的数字串和质数P,有M次不强制在线的询问,每次询问区间[l,r]中模P意义下为0的子串个数 N,M<=2e5,P<=1e10 思路:一次A,本来还以为 ...

  6. food(洛谷P4040 [AHOI2014/JSOI2014]宅男计划)

    题目在这里 题目描述 外卖店一共有N种食物,分别有1到N编号.第i种食物有固定的价钱Pi和保质期Si.第i种食物会在Si天后过期.JYY是不会吃过期食物的. 比如JYY如果今天点了一份保质期为1天的食 ...

  7. SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器

    一. cp.get_file实现从master端复制文件到minion服务器的文件中cp.get_file 1. 修改/etc/salt/master ,指定server 工作的根目录   file- ...

  8. 解决 Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的方法

    Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA.jEdit 等)会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.查阅了相 ...

  9. 【转载】SQL Server XML Path

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  10. 介绍Node.JS

    几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...