shell 的判断与比较】的更多相关文章

 在Shell里面判断字符串是否为空 分类: Linux shell2011-12-28 23:18 15371人阅读 评论(0) 收藏 举报 shell 主要有以下几种方法: echo “$str”|awk '{print length($0)}'expr length “$str”echo “$str”|wc -c但是第三种得出的值会多1,可能是把结束符也计算在内了 判断字符串为空的方法有三种:if [ "$str" =  "" ] if [ x"$s…
在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及其相关属性,如检查某文件是否存在,检查某文件的权限等.判断当前目录下是否存在某文件study可以用以下命令: 1 #test -e study -e 选项是测试某文件是否存在(包括文件和文件夹),该执行结果不会输出任何信息,但是我们可以通过&&及||来改写使其展现相关信息,改写后的命令如下:…
Shell实现判断进程是否存在并重新启动脚本 - superbfly的专栏 - CSDN博客 https://blog.csdn.net/superbfly/article/details/52513765 #! /bin/bash # author caoxin # time 2012-10-10 # program : 判断进行是否存在,并重新启动 function check(){ count=`ps -ef |grep $1 |grep -v "grep" |wc -l` #e…
shell if判断中常用的a-z表达式含义 可通过在在linux中man test命令查看下列参数的详细用法   [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真…
/********************************************************************* * Makefile中怎么使用Shell if判断 * 说明: * 譬如可能会在Makfile中需要判断文件.文件夹的存在,使用shell语法 * 输出一些信息,等等. * * 2017-8-21 深圳 龙华樟坑村 曾剑锋 *******************************************************************…
#Linux系统Shell脚本判断变量文件目录:权限.是否存在.空值.相等 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 i…
Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态 我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的 网络状态判断 #!/bin/bash #检测网络链接畅通 function network() { #超时时间 local timeout=1 #目标网站 local target=www.baidu.com #获取响应状态码 local…
-------------------------------------------------------------------------------------------------------- [条件判断] 1. 按文件类型进行判断 -b 文件    判断该文件是否存在,并且为块设备文件(是块设备文件为真) -c 文件    判断该文件是否存在,并且为字符设备文件(是字符设备文件为真) -d 文件    判断该文件是否存在,并且为目录文件(是目录为真) -e 文件    判断该文…
转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html 1. shell判断文件,目录是否存在或者具有权限 2. #!/bin/sh 3. 4. myPath="/var/log/httpd/" 5. myFile="/var /log/httpd/access.log" 6. 7. # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 8. if [ ! -x "…
if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne    不等于 ----------------------- shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件…
#shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文件,目录是否存在或者具有权限 folder="/var/www/" file="/var/www/log" # -x 参数判断 $folder 是否存在并且是否具有可执行权限 if [ ! -x "$folder"]; then mkdir &quo…
1  shell 的$! ,$?, $$,$@ $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current program. $?        Last command or function's return value. $$        The program's PID. $!     …
Conditional Logic on Files # 判断文件是否存在及文件类型 -a file exists. #文件存在 -b file exists and is a block special file. #文件存在,并且是块设备 -c file exists and is a character special file. ##文件存在,并且是字符设备 -d file exists and is a directory. #文件存在,并且是目录 -e file exists (ju…
[ -a FILE ]  如果 FILE 存在则为真.  [ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真.  [ -c FILE ]  如果 FILE 存在且是一个字特殊文件则为真.  [ -d FILE ]  如果 FILE 存在且是一个目录则为真.  [ -e FILE ]  如果 FILE 存在则为真.  [ -f FILE ]  如果 FILE 存在且是一个普通文件则为真.  [ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真. [ -h FI…
无论什么编程语言都离不开条件判断.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字符串…
一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果…
字符串的判断 '-z 字符串' 判断字符串是否为空(为空返回真) '-n 字符串' 判断字符串是否为非空(非空返回真) '字符串1==字符串2' 判断字符串1是否和字符串2相等(相等返回真) '字符串1!=字符串2' 判断字符串1是否和字符串2不相等(不相等返回真) name=ssgao #给name变量赋值 [ -z $name ] &&echo "yes" || echo "no" 判断name变量是否为空,不为空返回"no"…
if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; then echo "你输入的不是一个数字" exit 1fi case判断语句 #!/bin/bashcat <<EOF########################################### 欢迎学习shell编程 #######################…
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 int…
#!/bin/bash argv=" if [ -z "$argv" ] then echo "argv is empty" else echo "argv is not empty" 说明,-z选项判断一个变量是否为空,如果为空则执行then部分,如果不为空,则执行else部分. 另外,在shell中建议给变量加上双引号,比如如果test的内容是argv="adsf adf 1234e"有空格,变量不加双引号执行i…
一.if的基本语法: if [ command ];then    符合该条件执行的语句 elif [ command ];then    符合该条件执行的语句 else    符合该条件执行的语句 fi 二.文件/文件夹(目录)判断 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d DIR ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. […
1. 文件判断表达式 -e filename:如果 filename 存在(exist),则为真: -d filename:如果 filename 为目录(directory),则为真: -f filename:如果 filename 为常规文件,则为真: -L filename:如果 filename 为符号链接,则为真: -r filename:如果 filename 可读,则为真: -w filename:如果 filename 可写,则为真:-x filename:如果 filename…
在linux的shell中 if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句: if ... else ... fi 语句: if ... elif ... else ... fi 语句. 1) if ... else 语句 if ... else 语句的语法: if [ expression ] then Statement(s) to be executed if expression is true f…
一 条件判断式语句 1.按文件类型进行判断 测试类型 作用 -b 文件 判断文件是否存在,并且是否为块设备文件(是块设备文件为真) -c 文件 判断文件是否存在,并且是否为字符设备文件(是字符设备设备文件为真) -d 文件 判断文件是否存在,并且是否为目录文件(是目录文件为真) -e 文件 判断文件是否存在,(存在为真) -f 文件 判断文件是否存在,并且是否为普通文件(是普通文件为真) -L 文件 判断文件是否存在,并且是否为符号链接文件(是符号链接文件为真) -p 文件 判断文件是否存在,并…
一.数值判断 INT1 -eq INT2           INT1和INT2两数相等为真 INT1 -ne INT2           INT1和INT2两数不等为真 INT1 -gt INT2            INT1大于INT1为真 INT1 -ge INT2           INT1大于等于INT2为真 INT1 -lt INT2             INT1小于INT2为真 INT1 -le INT2             INT1小于等于INT2为真   二.字符…
常用系统变量 1)         $0 当前程式的名称 2)         $n 当前程式的第n个参数,n=1,2,…9 3)         $* 当前程式的任何参数(不包括程式本身) 4)         $# 当前程式的参数个数(不包括程式本身) 5)         $$ 当前程式的PID 6)         $! 执行上一个指令的PID(似乎不行?) 7)         $? 执行上一个指令的返回值 条件判断:expression为字符串操作 1)         -n str…
测试脚本是否有语法错误: sh  -n  脚本名 一.if语句: 二.逻辑运算解析: -f  判断文件是否存在 -d 判断目录是否存在 -eq 判断是否相等 -ne 判断是否不相等 -lt 小于 -ge 大于 -le 小于或等于 -ge 大于或等于 -a 双方成立 -o 单方成立 -z 空字符串 打印菜单:…
-b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若文件存在,则为真 -f file 若文件存在且是一个规则文件,则为真 -g file 若文件存在且设置了SGID位的值,则为真 -h file 若文件存在且为一个符合链接,则为真 -k file 若文件存在且设置了"sticky"位的值 -p file 若文件存在且为一已命名管道,则为真 -r file 若文件存…
#!/bin/bash ## 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers 第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真. sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要…
算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge (( )):><>=<== [root@monitor ~]# if (( 2 == 3));then echo '123'; fi [root@monitor ~]# if (( 2 >= 3));then echo '123'; fi [root@monitor ~]# if (( 2 <= 3));then echo '123'; fi 123[root@monitor ~]#…