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语句的主要内容,如果未能解决你的问题,请参考以下文章