Shell流程控制语句if

(1).if语句

语法格式:

if 判断条件 ; then
  命令
fi

或
if 判断条件
then
  命令
fi

if语句流程图:

  实例:判断命令是否执行成功,成功则输出语句This is ok.

[[email protected] ~]# vim a.sh
#!/bin/bash
ls /mnt > /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
fi
[[email protected] ~]# sh a.sh
This is ok.

(2).双分支if语句

语法格式:

if 判断条件 ; then
  命令1
else
  命令2
fi

双分支if语句流程图:

  实例:判断命令是否执行成功,成功则输出This is ok.,否则输出This is not ok.

[[email protected] ~]# vim a.sh
#!/bin/bash
ls /mnt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi

ls /mnt/a.txt &> /dev/null
if [ $? -eq 0 ] ; then
    echo "This is ok."
else
    echo "This is not ok."
fi
[[email protected] ~]# sh a.sh
This is ok.
This is not ok.

(3).多分支if语句

语法格式:

if 判断条件1 ; then
  命令1
elif 判断条件2 ; then
  命令2
elif 判断条件3 ; then
  命令3
......
else
    命令n
fi

多分支if语句流程图:

  实例:判断键盘输入的数字,如果等于零则输出0,如果大于0则输出“这是一个正数”,如果小于0则输出“这是一个负数”。

[[email protected] ~]# vim a.sh
#!/bin/bash
read -p "请输入一个数字:" num
if [ $num -eq 0 ] ; then
    echo $num
elif [ $num -gt 0 ] ; then
    echo "这是一个正数"
else
    echo "这是一个负数"
fi
[[email protected] ~]# sh a.sh
请输入一个数字:12
这是一个正数
[[email protected] ~]# sh a.sh
请输入一个数字:0
0
[[email protected] ~]# sh a.sh
请输入一个数字:-12
这是一个负数

  

原文地址:https://www.cnblogs.com/diantong/p/11646809.html

时间: 2024-10-15 19:22:30

Shell流程控制语句if的相关文章

shell流程控制语句 if while for case

linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使用方法. 一.shell条件语句(if用法)if语句结构[if/then/elif/else/fi] if 条件测试语句 thenaction[elif 条件actionelseaction]fi 如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符.逻辑表达式详解shell命令,可以按照分号分割,也可以按照换

shell流程控制语句 case

linux的shell前前后后学了好几遍了奈何记性不好,总是忘了,追主要的原因可能是不常用的原因吧!case开头 esac结尾下面是结果输入法不对 输入的符号就不对,刚开始总错,后来切换了输入法就好了readread命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY -p:指定读取值时的提示符:-t:指定读取值时等待的时间(秒)

Shell流程控制语句for

for语法格式: for 变量 in 参数列表 do 命令 done 或者 for 变量 in 参数列表 ; do 命令 done for语句流程控制图: 实例: [[email protected] ~]# vim a.sh #!/bin/bash for var in a1 a2 b1 b2 do echo $var done [[email protected] ~]# sh a.sh a1 a2 b1 b2 参数列表可以更复杂些,部分特殊符号需要转义 [[email protected]

Shell流程控制语句while

while语法格式: while 判断条件 do 命令 done while语句流程控制图: 实例: [[email protected] ~]# vim a.sh #!/bin/bash i=0 while [ $i -lt 10 ] #如果小于10,则执行循环 do echo $i i=$[i+1] done [[email protected] ~]# sh a.sh 0 1 2 3 4 5 6 7 8 9 一样可以使用双小括号(())来替换原有的判断条件,如下: [[email prot

shell 流程控制语句

一.if 语法格式:if test -d $arg then ... else ... fi 变量测试语句可以用 [ ] 简化.例:test -d $arg 等价于 [ -d $arg ].( 注意:"空格"["空格"-d $1"空格"] ) 更多测试命令请看:http://www.cnblogs.com/fangwu/p/8422910.html 1.示例脚本代码 #!/bin/sh if [ -d $arg ] then echo "

shell脚本中if流程控制语句的应用

上篇关于测试语句的使用规则及相关使用方法,如果仅仅孤立使用时很难有其用武之地,当然在shell脚本中其实不可能孤立存在的,只有与条件语句和控制语句等搭配使用才能使其功能得到最大限度的体现,因此在日常使用中,其功能不容小觑. 一.控制流程 if控制流程可分为但分支if语句和多分支if语句,其使用语和C语言中有很多相似之处,具体用法如下文所述. 1.1但分支if语句结构: 1.2基本语法     if 条件        或    if 条件:then   //分号表示两个命令写在一行并不相互影响,

1 Linux shell 编程(七):流程控制语句

流程控制语句 在shell中如果在终端输入多个命令,如果以&分隔则将命令放入后台执行,如果以;分隔,则表示一个命令集合.shell允许使用逻辑操作符&&和||来作为命令分隔符,他们分别时AND和OR. && 如果前面命令执行成功,则执行&&后面的命令 || 如果前面的命令执行失败,执行||后面的命令 if 语句 条件判断语句 if语句是一个判断语句,基于条件执行命令,格式如下:if语句必须以fi结尾. COMMANDS 可以是单个命令.命令组.表达式

shell脚本基础进阶(三)----流程控制语句

流程控制语句 控制语句,即用来实现对程序流程的选择.循环.转向和返回等进行控制的语句.Bash中的控制语句有几种控制语句?额,小编也没统计过,不清楚哎!!按照百度百科的分类(选择语句,循环语句,转向语句)总结了几个.然后看下吧! 一.选择语句 1.if--else--fi 格式: (1)if CONDITION;then     if-true-doing    fi  (2)if CONDITION;then     if-true-doing    else     if-false-doi

linux shell 流程控制

linux shell 流程控制 导读 和Java.PHP等语言不一样,linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使用方法. 一.shell条件语句(if用法) if语句结构[if/then/elif/else/fi] if 条件测试语句 then action [elif 条件 action else action ] fi shell命令,可以按照分号分割,也可以按照换行符分