linux shell编程之if语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell编程之if语句相关的知识,希望对你有一定的参考价值。

-eq 等于

-ne 不等于 

-gt 大于

-lt 小于

-le 小于或等于

-ge 大于或等于

-z 空串

= 两个字符相等

!= 两个字符不相等

-n 非空串

字符串通常用来检查用户输入,系统环境是否满足条件,在提供交互式操作的shell脚本中也可以判断用户输入位置参数是否符合要求,字符串的常用操作如下:


文档比较运算符:

-e filename  假如filenanme存在,则为真  

-d filename  假如filename为目录,则为真

-f filename 假如filename为常规文档,则为真

-L filename 假如filename为符号链接,则为真

-r filename 假如filename可读,则为真

-w filename 假如filename可写,则为真

-x filename 假如filename可执行,则为真


if 语句是循环语句中一种又称为控制语句,通过制定条件进行判断执行,只有条件成立的时候才会执行相应的代码,否则不会执行任何操作。


*单分支if语句格式:

if 条件测试操作

then

    命令序列

fi


例子1

vim a.txt

#!/bin/bash

if

    [ ! -d /media/cdrom ]

thenk

    mkdir -p /media/cdrom

fi

wq!

sh -x a.txt        x选项为查看调试过程


例子2

vim b.txt

#!/bin/bash

NUM=100

if (($NUM > 4));then

echo "this num is $NUM greater 4!"

fi

wq!

sh -x b.txt



*双分支if语句格式:

双分支的选择结果,要求针对条件成立,条件不成立两种情况分别执行不同的操作

语法结构

if 条件测试操作

then ( 条件成立执行)

    命令序列1

else(否则,条件不成立,则执行)

    命令序列2

fi


例子3

vim c.txt

#!/bin/bash

ping -c 3 -i 0.2 -w 3 $1

if

    [ $? -eq 0 ]

then

    echo "ip is up"

else

    echo "ip is down"

fi

sh -x c.txt 172.0.0.1


例子4

vim b.txt

#!/bin/bash

word=$1

grep ^$1$" /usr/share/dict/words -q 

    if [ $? -eq 0 ];then

        echo "word is a dictionary word"

else

        echo "word is not a dictionary word"

fi



本文出自 “Oracle个人学习笔记” 博客,请务必保留此出处http://wuchunqiang.blog.51cto.com/1022331/1853496

以上是关于linux shell编程之if语句的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程Shell中的流程控制之if语句

linux shell编程 if判断语句的判定条件

shell编程之 if 判断语句

shell编程之if语句

shell编程之if语句

if语句 条件测试 shell编程之条件语句