博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux shell if判断语句
阅读量:5795 次
发布时间:2019-06-18

本文共 1128 字,大约阅读时间需要 3 分钟。

无论什么编程语言都离不开条件判断。SHELL也不例外。

大体的格式如下:
if list then
do something here
elif list then
do another thing here
else
do something else here
fi

一个例子:

#!/bin/sh

SYSTEM=uname -s # 获取操作系统类型,我本地是linux

if [ $SYSTEM = "Linux" ] ; then # 如果是linux话输出linux字符串

echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi # 判断结束,以fi结尾

基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。说明如下:

1 字符串判断

str1 = str2     当两个串有相同内容、长度时为真

str1 != str2     当串str1和str2不等时为真
-n str1       当串的长度大于0时为真(串非空)
-z str1       当串的长度为0时为真(空串)
str1        当串str1为非空时为真

2 数字的判断

int1 -eq int2   两数相等为真

int1 -ne int2   两数不等为真
int1 -gt int2    int1大于int2为真
int1 -ge int2   int1大于等于int2为真
int1 -lt int2    int1小于int2为真
int1 -le int2    int1小于等于int2为真

3 文件相关的if判断条件语句

-r file     用户可读为真

-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

3 复杂逻辑判断

-a        与
-o       或
!       非

语法虽然简单,但是在SHELL里使用的时候,它可以实现强大的功能或执行逻辑。

分类: shell

转载于:https://blog.51cto.com/13868278/2149124

你可能感兴趣的文章
oracle使用dblink跨库查询的例子
查看>>
LINUX简单指令(时间戳转换)
查看>>
Squid 反向代理服务器配置
查看>>
情深意伤
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
C语言--static的用法
查看>>
mysql 4种启动方式
查看>>
Java基础之Java并发编程:volatile关键字解析
查看>>
Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表
查看>>
虚拟化环境下对公司业务服务器实现NLB+SQL高可用(一)
查看>>
Synology NAS 存储系统多路径连接Vmware ESXi 6.5
查看>>
python 对zip和tar.gz 解压和压缩代码
查看>>
ciscodk:H3CSE认证适用对象
查看>>
win7下EasyBCD硬盘安装ubuntu10.04
查看>>
RxJava 学习笔记<五> Reducing a sequence
查看>>
给已存在的XCode工程添加git
查看>>
群晖NAS的iSCSI设置
查看>>