人生难得几回搏,此时不搏待何时。这篇文章主要讲述Shell(if语法的使用)相关的知识,希望能为你提供帮助。
1.语法一:单if语句
适用范围:只需要一步判断,条件返回真干什么或者条件返回假干什么
语句格式
if [ condition ]#condition值为true or false
then
commands
fi
该语句翻译成汉语大意如下:
假如条件为真
那么
执行commands代码块
结束
演示:假如在tmp下没有abc这个文件夹,那么就创建一个,创建完成显示“OK”
#!/bin/bash
if [ ! -d tmp/abc ]
then
mkdir -v /tmp/abc
echo "ok"
fi
2.语法二:if-then-else语句
适用范围:两步判断,条件为真干什么,条件为假干什么
if [ condition ]
then
commands1
else
commands2
fi
该语句翻译成汉语大意如下:
假如条件为真
那么
执行commands1代码块
否则
执行commands2代码块
结束
【Shell(if语法的使用)】演示:登陆用户是root,输出“hello,admin”;登陆是普通用户,输出“hello,guest”
#!/bin/bash
if [ $USER = root ]
then
echo "hello,admin"
else
echo "hello,guest"
fi
3.语法三:if-then-elif语句
适用范围:多于两个以上的判断结果,也就是多于一个以上的判断条件
if [ condition1 ]
then
commands1
elif [ condition2 ]
then
commands2
......
else
commandsx
fi
该语句翻译成汉语大意如下:
假如条件1为真
那么
执行代码块1
假如条件2为真
那么
执行代码块2
以此类推的N个条件以及对应执行代码块
否则[以上所有条件中没有满足的]
执行代码块x
结束
演示:判断两个整数的关系
嵌套:
#!/bin/bash
if [ $1 -eq $2 ]
then
echo "$1 = $2"
else
if [ $1 -gt $2 ]
then
echo "$1 > $2"
else
echo "$1 < $2"
fi
fi
if多步运算判断:
#!/bin/bash
if [ $1 -gt $2 ]
then
echo "$1> $2"
elif [ $1 -eq $2 ]
then
echo "$1=$2"
else
echo "$1< $2"
fi
4.fi高级应用
使用双小圆括号,可以植入数学表达式
#!/bin/bash
if (( 100%3+1> 1 )); then
echo "yse"
else
echo "no"
fi
推荐阅读
- Shell编程及自动化运维预定义变量
- spring用到的设计模式
- 系统之家win7纯净版iso系统蓝屏代码0x000000001e的排查方案
- 让win7 32位系统笔记本续航时间更长的设置妙招
- 最新xp系统之家教你怎样维修U盘接口
- win7系统之家教你如何处理Win7 任务栏无法添加、锁定程序的问题
- 中关村系统之家浅析Windows7系统4个版本的异同点
- 系统之家win7安装虚拟光驱后物理光驱无法运用的处理步骤
- xp系统之家解析为何U盘文件会显示0字节的原因