Linux系统Shell if语句用法小结
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 文件的判断
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
3、复杂逻辑判断
-a 与
-o 或
! 非
下面是一些使用实例:
#!/bin/sh
myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"
#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$myPath"]; then
mkdir "$myPath"
fi
#这里的-d 参数判断$myPath是否存在
if [ ! -d "$myPath"]; then
mkdir "$myPath"
fi
#这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
touch "$myFile"
fi
#其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$myVar" ]; then
echo "$myVar is empty"
exit 0
fi
#两个变量判断是否相等
if [ "$var1" == "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
EX1:
#!/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 #ifend
基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。
=========================================================================
#. $HOME/.bash_profile
cd $HOME
sh .bash_profile
cd $HOME/jnjzapp/sos_dx/
echo -e '开始'
./jn_card_dx.sh
wait
#sqlplus $DBSTR <<START_A
#@jn_card_dx.sql
#/
#commit;
#exit;
#START_A
cd $HOME/jnjzapp/sos_dx/data/
if [ ! -d BQMSG ]; then
mkdir BQMSG
fi
#mkdir BQMSG
cd $HOME/jnjzapp/sos_dx/
sqlplus $DBSTR <<START
@sos.sql;
commit;
exit;
START
objdir=`date -d ' days' +%Y%m%d`
echo $objdir
#cp jn_card_sos.txt $objdir.txt
1、if 与[ 之间必须有空格
2、[ ]与判断条件之间也必须有空格
3、]与; 之间不能有空格
原文:http://cloudmail.iteye.com/blog/1441015
Linux系统Shell if语句用法小结相关推荐
- linux 系统 Shell语言 基础
linux 系统 Shell语言 基础 第一章 Shell 编程 1 . 概述 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Sh ...
- Linux系统shell脚本之打印系统的IP信息
Linux系统shell脚本基础之打印系统的IP信息 一.脚本要求 二.脚本内容 三.执行脚本 一.脚本要求 1.显示服务器的运行状态,并输出提示 2.输出电脑的IP地址等信息 3.将执行输出的信息记 ...
- Linux系统shell脚本之批量修改服务器密码
Linux系统shell脚本之批量修改服务器密码 一.脚本要求 二.脚本内容 三.编辑原始旧密码 四.执行脚本 五.验证密码更改 1.查看更改后的密码文件 2.在远端服务器验证密码 一.脚本要求 可以 ...
- linux系统——Shell编程之变量解释
linux系统--Shell编程之变量解释 - Shell能做什么 自动化批量系统初始化程序 (update,软件安装,时区设置,安全策略-) 自动化批量软件部署程序 (LAMP,LNMP,Tomca ...
- Linux系统shell脚本之函数的使用
Linux系统shell脚本之函数的使用 一.函数解释 二.函数参数 1.参数注意事项 2.特殊参数说明 三.函数实例1 四.函数实例2 一.函数解释 1.函数(function)作用:函数可以在sh ...
- Linux系统Shell脚本中的echo命令
Linux系统Shell脚本中的echo命令 echo的作用 输出字符串 格式 echo "字符串内容" 一,显示转义字符 转义字符 ...
- Linux系统shell脚本实战之解决生产ddos攻击
Linux系统shell脚本实战之解决生产ddos攻击 一.脚本于鏊求 二.脚本内容 三.执行脚本 一.脚本于鏊求 要求屏蔽掉ddos攻击的IP 二.脚本内容 [root@192 scripts]# ...
- Linux系统中curl命令用法详解
在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具.它支持文件的上传和下载,是综合传输工具. curl 是常用的命令行工具,用来请求 Web 服 ...
- Linux系统中ls命令用法详解
linux系统中ls命令的用法 ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通 ...
最新文章
- python图像相似度识别_一个用SIFT特征比较图像相似度的python小程序
- java设计模式概述
- 【Scratch】青少年蓝桥杯_每日一题_6.01_画春花
- (转)VS2010 快捷键
- [CareerCup] 8.10 Implement a Hash Table 实现一个哈希表
- Spring Boot笔记-@ComponentScan初步解析
- Linux备份策略研究
- 相机标定(五)—— 相机模型详细介绍
- docker for windows pull镜像文件的安装位置改变方法
- 条码打印软件如何在二维码中间添加logo图片
- mfc9340扫描到文件服务器,兄弟MFC7340打印机怎么扫描文件?
- 电商收付通系列⑤,商户进件之二级商户进件申请
- UWB基本原理分析2
- 在家快发霉了?数据告诉你,网友们都怎么打发时间 | DT数说
- 企业邮箱登录入口,企业邮箱在哪登录?邮箱ssl安全吗?
- web的标准网页设计与php课后,web网页设计尺寸规范
- html实现展开余下全文多个,DIV+css内容太长,怎么实现点击展开余下全文?
- xml方式导出word优缺点:
- MySQL——临时表
- item_get - VVIC根据ID取商品详情 API