shell 判断语句
流程控制 "if" 表达式 如果条件为真则执行then后面的部分: if ....; then
....
elif ....; then
....
else
....
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等 -r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
######################################################### 含条件选择的shell脚本
对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包
括比较运算、判断文件是否存在等。基本的if条件命令选项有: -eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。
##################################################################
判断文件是否存在 #!/bin/sh
today=`date -d yesterday +%y%m%d`
file="apache_$today.tar.gz"
cd /home/chenshuo/shell
if [ -f "$file" ];then
echo "OK"
else
echo "error $file" >error.log
mail -s "fail backup from test" chenshuo@soufun.com <error.log
fi
=================================================
-
shell判断文件,目录是否存在或者具有权限
-
#!/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
分享到:
相关推荐
shell 判断输入的ip是否和本机的ip同网段 包含两种实现方法
### Shell判断一个进程是否存在 在日常的系统管理和自动化运维任务中,经常需要判断某个特定的进程是否正在运行。这样的需求通常出现在Shell脚本中,通过判断进程的状态来执行不同的操作或者逻辑。例如,在某些场景...
shell判断cpu架构
这是linux shell判断平闰年,输入正确格式日期就可以判断这是一个平年还是闰年,输入正确格式日期就可以判断在该日期下是星期几,而且输入两个日期还可以判断这两个日期之间间隔了几天,可以正确使用,你们也可以...
**文件`shell判断输入的参数是否正确.txt`相关:** 在编写接受用户输入的Shell脚本时,我们需要验证参数是否满足特定条件。例如,可以使用`if`语句检查参数数量或类型: ```bash if [ $# -ne 1 ]; then echo "Usage...
详细介绍了shell编程中的判断 数字 字符 文件名 等是否相等,匹配。附有详细的演示截图。在CentOs 6中演示。
linux shell 判断文件夹是否存在 为空 文件是否存在
读取文件SHELL并判断文件生成时间,考虑到文件可能没有生成完,低于5分钟文件不拷贝。并且可以循环处理,分别判断生成的时间
### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
### Shell 判断文件是否为空的核心方法 在Shell脚本中,经常需要检查文件是否为空,这对于数据处理和程序逻辑控制非常重要。本文档介绍了一种简洁有效的检查文件是否为空的方法,并详细解释了其中涉及的关键命令...
在本篇文章中,我们将详细介绍几种常用的Shell判断变量是否为空的方法。 1. 使用`-n`选项: ```bash #!/bin/sh para1= if [ ! -n "$para1" ]; then echo "IS NULL" else echo "NOT NULL" fi ``` 在这个...
shell自动化脚本,自动判断文件夹(目录)是否存在,如不存在自动创建,可执行,下载可测试
以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及segmentfault。 方法一:利用grep查找 strA=long string strB=string result=$(echo $strA | grep ${strB}) if [[ $result != ]] ...
### Linux Shell 判断环境变量是否存在的方法 在Linux系统中,环境变量是非常重要的配置项,它们定义了系统的行为以及各种程序运行时所依赖的环境。因此,了解如何判断某个环境变量是否存在对于编写高效的Shell脚本...
shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} ... 您可能感兴趣的文章:Shell获取字符串长度的多种方法总结用Shell判断字符串包含
3、 执行sql文件/service/script/update.sql(数据库假定为Oracle,连接信息任意),并判断 a) 如果执行成功,则执行另外一个文件/service/script/trigger.sql b) 如果执行失败,则将返回错误记录到/service/log/err...
代码如下: #!/bin/bash port=”80″ restart=”/etc/init.d/httpd restart” EMAIL=”/bin/echo selboo | mutt -s “重新启动...$EMAIL exit $? } exit 0 您可能感兴趣的文章:linux使用管道命令执行ps获取cpu与内
根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...
该脚本可以判定类unix操作系统的名称
一些需要注意的脚本问题 计算字符串长度可用的三种方法: 代码如下: echo “$str”|awk ‘{print length($0)}’ expr length “$str” ... 您可能感兴趣的文章:用Shell判断字符串包含关系的方法小结Shel