(1)if语句

root@ubuntu:/mnt/shared/shellbox/shellif# cat shellif.sh
#!/bin/bash #推断字符串
if [ "$1" = "hello" ]
then
echo "\$1=$1"
fi #推断数字,if()方式仅仅能在bash下用,在sh下不行
if (( $1 > 20 ))
then
echo "\$1: $1 > 20"
elif (( $1 == 20 ))
then
echo "\$1 == 20"
elif (( $1 < 20 ))
then
echo "\$1 < 20"
fi #方括号推断语句
if [ $1 -lt 20 ]
then
echo "\$1 < 20"
elif [ $1 -ge 20 -a $1 -le 30 ]
then
echo "\$1 >= 20 && \$1 <= 30 "
elif [ $1 -gt 30 ]
then
echo "\$1 > 30"
fi

运行结果:

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 10

$1 < 20

$1 < 20

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 20

$1 == 20

$1 >= 20 && $1 <= 30 

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 30

$1: 30 > 20

$1 >= 20 && $1 <= 30 

root@ubuntu:/mnt/shared/shellbox/shellif# ./shellif.sh 40

$1: 40 > 20

$1 > 30

(2)for语句

root@ubuntu:/mnt/shared/shellbox/shellfor# cat shellfor.sh
#!/bin/bash for i in $*
do
echo $i
done for char in {a..c}
do
echo $char
done for int in {1..3}
do
echo $int
done

运行结果:

root@ubuntu:/mnt/shared/shellbox/shellfor# ./shellfor.sh 

a

b

c

1

2

3

(3)while语句:

root@ubuntu:/mnt/shared/shellbox/shellwhile# cat shellwhile.sh
#!/bin/bash #注意: (( ))这样的方式仅仅能在bash中使用,而不能在sh中使用
i=0
while (( i < $1 ))
do
echo "i=$i"
let i+=1
done #赋值时"="前后不能有空格
num=0
while [[ $num != $1 ]]
do
echo "num=$num, num != \$1"
let num+=1
done while true
do
echo "here in while true ..."
sleep 2
done

运行结果:

root@ubuntu:/mnt/shared/shellbox/shellwhile# ./shellwhile.sh 5

i=0

i=1

i=2

i=3

i=4

num=0, num != $1

num=1, num != $1

num=2, num != $1

num=3, num != $1

num=4, num != $1

here in while true ...

here in while true ...

shell 脚本之if、for、while语句的更多相关文章

  1. shell脚本中的if条件语句介绍和使用案例

    #前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉和掌握if条件语句. #简介 if条件语句,简单来说就是:如果,那么.有if单 ...

  2. 书写优雅的shell脚本(一)- if语句

    使用unix/linux的程序人员几乎都写过shell脚本,但这其中很多人都是为了完成功能而在网上找代码段,这样写出来的shell脚本在功能方面当然是没有什么问题,但是这样的方式不能写出优雅的shel ...

  3. shell脚本中的case条件语句介绍和使用案例

    #前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,ca ...

  4. 关于shell脚本——条件测试、if语句、case语句

    目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 ...

  5. shell脚本之while for if 语句和编写计划任务

    关于while循环: while do done 例如 1.关于内存的实时操作: (1).vim a.sh (2).输入以下while循环 (3)../a.sh执行脚本 2.自加一的操作: (1).v ...

  6. shell脚本编程基础之case语句

    基础简介 脚本编程分为: 面向过程 选择结构:if语句,单分支.双分支.多分支:case语句 控制结构:顺序结构(默认) 循环结构:for.while.until 面向对象 case语句结构 case ...

  7. Linux就该这么学--Shell脚本条件语句(一)

    1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...

  8. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  9. linux 下RMAN备份shell脚本

    RMAN备份对于Oracle数据库的备份与恢复简单易用,成本低廉.对于使用非catalog方式而言,将RMAN脚本嵌入到shell脚本,然后再通过crontab来实现中小型数据库数据库备份无疑是首选. ...

  10. linux初学 :简易的shell脚本

    什么是shell Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的 Shell有两种执行命令的方式: 交互式(Interacti ...

随机推荐

  1. 跟Google学习Android开发-起始篇-与其它应用程序交互(1)

    6 与其它应用程序交互 一个Android应用程序通常有多个活动.每一项活动都将显示一个用户界面,允许用户执行某种特定任务(如查看地图或者照片).为了把用户从一个活动带到另一个,你的应用必须使用Int ...

  2. Cocos2d-x 手游聊天系统需求分析

    手游聊天系统需求分析 转载请注明:IT_xiao小巫 移动开发狂热者群:299402133 策划需求图 參考系统:刀塔传奇 点击这个.然后弹出以下的对话框 游戏类型:卡牌 分析:刀塔传奇聊天系统分为3 ...

  3. JavaScript编程:浏览器对象模型BOM

    4.浏览器对象模型BOM: document.body.offsetwidth可以获取浏览器宽度. Window对象:          窗口操作:            1.moveBy(dx,dy ...

  4. 【AllJoyn专题】基于AllJoyn和Yeelink的传感器数据上传与指令下行的研究

    接触高通物联网框架AllJoyn不太久,但确是被深深地吸引了.在我看来,促进我深入学习的原因有三点:一.AllJoyn开源,对开源的软硬件总会有种莫名的喜爱,虽然或许不会都深入下去:二.顺应潮流,物联 ...

  5. Android控件拖动的实现

    这个也是从网上得到的代码,例子比较简单,但是如果有需要此功能的,这个例子可以提供很多提示,首先,给个截图 这个是拖动以后的效果,一个imageview和一个button控件,提供两份代码下载吧,一份是 ...

  6. delphi 利用HTTP的POST方法做个在线翻译的小工具 good

    最近做了一个英汉小翻译的东东,用的是VC,ADO + Access访问数据库,单词数据库是从金山打字通2002弄来的.后来想了想,想再加个在线翻译的功能,记得经常使用GOOGLE翻译网站的在线翻译,也 ...

  7. JAVA之成员变量初始化

    java中成员变量的初始化,如果是普通成员变量可以赋初值,如果没赋初值,则系统会自动赋初值.而对于局部变量必须手动赋初值. package MyText2; public class MyText1 ...

  8. CSS样式渐变写法

    .first_tree li:hover{ color:#FFF; cursor:pointer; background-color:#ff8a00; background: -ms-linear-g ...

  9. Valera and Tubes

    C. Valera and Tubes time limit per test 1 second memory limit per test 256 megabytes input standard ...

  10. Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值

    原文:[置顶] Android菜鸟的成长笔记(10)——使用Bundle在Activity之间传值 前面我们了解了如何启动一个Activity,一个Activity在启动另外一个Activity的时候 ...