Linux中if语句用法总结

发布时间:2024-12-09 16:11

结束语简洁有力:用总结性的句子结尾,留下深刻印象。 #生活技巧# #沟通技巧# #书面沟通#

shell中的逻辑判断一般用if语句,if语句中通常用[]来表示条件测试,可以比较字符串、判断文件是否存等。备注:[ ] 中表达式两边与括号之间要有空格
if … else 语句常用基本的语法如下:
1.if [];then fi 语句
建一个测试脚本test.sh如下

#!/bin/bash a=$1 b=$2 if [ $a == $b ];then echo "a and b is equal" fi if [ $a != $b ];then echo "a and b is not equal" fi 123456789

执行命令sh test.sh 2 3给参数$1和$2赋值2和3,输出结果a and b is not equal
不加else的if语句表达式成立执行then后面的语句,表达式不成立则不执行任何命令。
2.if [];then else fi 语句

if [ expression ];then executed Statement_expression_true else executed Statement_expression_false fi 12345

备注:expression表达式 和方括号[ ]之间必须有空格,否则会有语法错误。如果表达式成立,then后面的语句将会被执行;如果表达式不成立则执行else后面的语句。

3.if [];then elif []; then else fi 语句,哪个expression表达式成立则执行哪个then后面的语句,否则执行else后面的语句。

if [ expression1 ];then executed Statement_expression1_true elif [ expression2 ];then executed Statement_expression2_true else executed Statement_expression1_2_false fi 1234567

#!/bin/bash a=$1 b=$2 if [ $a == $b ];then echo "a and b is equal" elif [ $a -lt $b ];then echo "a less than b" else echo "a bigger than b" fi 12345678910

例如建个测试脚本test.sh如上,执行命令sh test.sh 2 3给参数$1、$2赋值2、3,输出结果a less than b;执行sh test.sh 3 2 结果为a bigger then b

#!/bin/bash a=$1 b=$2 if [ $a == $b ];then echo "a and b is equal" else if [ $a -lt $b ];then echo "a less than b" else echo "a bigger than b" fi fi 123456789101112

上述脚本,if … else 语句嵌套使用的效果与if … elif … fi 语句效果类似,但是if … elif … fi 语句要精简些

4.if … else 语句也经常与 test 命令结合使用,test 命令用于检查某个条件是否成立,与方括号[ ]功能类似

#!/bin/bash a=$1 b=$2 if test $a == $b;then echo "a and b is equal" else echo "a and b is not equal" fi 12345678

例如上述脚本,其中if test $a == $b;与if [ $a == $b ];效果一样。

5.if语句常用命令选项有:
== or =: 等于
-eq : 等于
-ne :不等于
-gt :大于
-ge :大于等于
-lt :小于
-le :小于等于

命令选项描述if [ a = b ]a与b是否相等 (a、b是数值)if [ a -ge b ]a 是否大于等于 bif [ a -gt b ]a 是否大于 bif [ a -le b ]a 是否小于等于 bif [ a -lt b ]a 是否小于 bif [ a -ne b ]a 是否不等于 bif [ str1 = str2 ]str1是否与str2相同(str1、str2是字符串)if [ str1 != str2 ]str1是否与str2不同if [ str1 < str2 ]str1是否小于str2if [ str1 > str2 ]str1是否da于str2if [ -n str ]判断str长度是否非零if [ -z str ]str长度是否为0if [ -d file ]判断file是否为一个目录if [ -e file ]判断file是否存在if [ -f file ]检查file文件是否存在if [ -r file ]判断file是否存在并可读if [ -s file ]判断file是否存在并非空if [ -w file ]判断file是否存在并可写if [ -x file ]判断file是否存在并可执行

例如下面脚本判断压缩包文件是否存在

#!/bin/bash Day=`date -d yesterday +%Y%m%d` FILE=access_${Day}.log.tgz WORK_DIR= /data/nginx/logs if [ -f ${WORK_DIR}/${FILE} ];then echo "OK" else echo "${FILE} backup fail" > error.log fi 123456789

例如判断日志文件中是否存在error

#!/bin/bash WORK_DIR=/home/hadoop/ktl_wks LOG_DATE=`date +%Y%m%d` LOG_TIME=`date +%H%M%S` LOGFILE=${WORK_DIR}/log/${LOG_DATE}${LOG_TIME}_start.log #检查执行是否正常 ERR_LOG=`cat ${LOGFILE} | grep 'error' | awk -F ' ' '{print $1}'` if [ -z ${ERR_LOG} ];then echo `date +'%Y-%m-%d %H:%M:%S'`" 日志检查结束,检查结果为:正常." >> ${LOGFILE} 2>&1 else echo `date +'%Y-%m-%d %H:%M:%S'`" 日志检查结束,检查结果为:发现异常!!" >> ${LOGFILE} 2>&1 fi 12345678910111213

网址:Linux中if语句用法总结 https://www.yuejiaxmz.com/news/view/425435

相关内容

Python学习笔记(四)—— If语句
【Linux自动化任务构建】
IE 条件注释语句 if IE
Python中if
LFS经验总结
Python中的if
Python2语法简记(4、5):条件语句、循环语句
一些小总结
if
【Linux探索学习】第九弹——Linux工具篇(四):项目自动化构建工具—make/Makefile

随便看看