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. Codeforces Round #315 (Div. 2) A 水且坑

    A. Music time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  2. nodejs + express 入门之 hello world

    使用nodejs 开发web项目时原生的api开发比较困难.组合express后就比较容易了. 1.安装 express:       (express地址: http://www.expressjs ...

  3. 转:java native

    今日在hibernate源代码中遇到了native关键词,甚是陌生,就查了点资料,对native是什么东西有了那么一点了解,并做一小记. native关键字说明其修饰的方法是一个原生态方法,方法对应的 ...

  4. CSDN数据库下载地址 CSDN 用户名密码泄漏,600万数据下载

    原文发布时间为:2011-12-21 -- 来源于本人的百度文章 [由搬家工具导入] 12月21日消息,下午有网友爆料称国内最大的开发者社区CSDN.NET的安全系统遭到黑客攻击,CSDN数据库中的6 ...

  5. 【转】C#获取客户端及服务器端主机信息及其获取IP地址

    原文发布时间为:2009-10-28 -- 来源于本人的百度文章 [由搬家工具导入] 小结: 1、REMOTE_ADDR 不可被修改,但是可能会获得代理服务器的IP,而不是实际客户端的IP。 2、通过 ...

  6. SQL优化 ASP.NET ADO.NET

    原文发布时间为:2009-08-26 -- 来源于本人的百度文章 [由搬家工具导入] 总的考虑方向 1)        根据数据使用的方式来设计数据访问层 2)        缓存数据,避免不必要的操 ...

  7. C#、.Net学习资料免注册下载基地。。。

    原文发布时间为:2008-11-28 -- 来源于本人的百度文章 [由搬家工具导入] http://club.topsage.com/forumdisplay.php?fid=121&filt ...

  8. 阿里巴巴Java开发手册公开版(转)

    1.不要嫌名字长 无论是方法,变量,还是函数的取名,不要嫌弃名称太长,只要能够表示清楚含义就可以了. 2.String[] args而不是String args[] 中括号是数组类型的一部分,数组定义 ...

  9. UVA 11389 The Bus Driver Problem 贪心水题

    题目链接:UVA - 11389 题意描述:有n个司机,n个早班路线和n个晚班路线,给每个司机安排一个早班路线和一个晚班路线,使得每个早班路线和晚班路线只属于一个司机.如果一个司机早班和晚班总的驾驶时 ...

  10. Jenkins配置git进行构建失败:Error cloning remote repo 'origin'的解决思路

    说明:这个没有实际的解决方法,只提供一个思路去解决. 操作系统:windows 背景:在配置的节点之后,由于是windows的系统,运行git克隆地址,使用的是SSH协议地址.出现如下的错误: Err ...