linux怎么查看本机内存大小
265
2022-09-30
shell编程之条件语句和循环语句
shell编程之条件语句和循环语句
条件测试
文件测试与整数测试字符串测试与逻辑测试
if语句if单分支语句if双分支语句if多分支语句
test命令●测试表达式是否成立,若成立返回0,否则返回其他数值格式1: test 条件表达式格式2: [条件表达式]
文件测试[操作符 文件或目录]常用的测试操作符
-d:测试是否为目录(Directory) -e:测试目录或文件是否存在(Exist) -f:测试是否为文件(File) -r:测试当前用户是否有权限读取(Read) -W:测试当前用户是否有权限写入(Write) -x:测试当前用户是否有权限执行(eXcute) -L:测试是否为软连接文件
属性测试补充:
-s FILE #是否存在且非空 -t fd #fd文件描述符是否在某终端已经打开 -N FILE #文件自从上一次被读取之后是否被修改过 -0 FILE #当前有效用户是否为文件属主 -G FILE #当前有效用户是否为文件属组
条件测试
条件测试:判断某需求是否满足,需要由测试机制来实现,专用的测试表达式需要由测试命令辅助完成
条件测试
文件测试与整数测试 字符串测试与逻辑测试if语句 if单分支语句 if双分支语句 if多分支语句 case分支语句
文件测试[操作符 文件或目录]常用的测试操作符[root@localhost ~]# [ -d /media/cdrom ][root@localhost ~]# echo $?0[root@localhost ~]# [ -d /media/cdrom/Server][root@localhost ~]# echo $?1[root@localhost ~]# [ -d /media/cdrom ] && echo "YES"YES
整数值比较[整数1操作符整数2]
常用的测试操作符●-eq:等于(Equal)●-ne:不等于(Not Equal)●-gt:大于(Greater Than)●-lt: 小于(Lesser Than)●-le:小于或等于(Lesser or Equal)●-ge:大于或等于(Greater or Equal)
逻辑测试格式1:[表达式1]操作符[表达式2]...格式2:命令1操作符命令2常用的测试操作符●-a或&&:逻辑与, '而且”的意思●-o或||:逻辑或, "或者”的意思!:逻辑否[root@localhost ~]#[ -d/etc ] && [-r/etc] && echo “You can open it“[root@localhost ~]#[ -d/etc ] II [-d /home ] && echo“ok“
字符串比较
格式1
[字符串1=字符串2][字符串1 !=字符串2 ]
格式2
[ -z字符串]常用的测试操作符
=:字符串内容相同 !=:字符串内容不同,!号表示相反的意思 -z:字符串内容为空
test命令**
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1: test 条件表达式格式2: [条件表达式]
文件测试[操作符 文件或目录]常用的测试操作符-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-W:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L:测试是否为符号链接
整数值比较[整数1 操作符 整数2]常用的测试操作符●-eq:等于(Equal)●-ne:不等于(Not Equal)●-gt:大于(Greater Than)●-lt:小于(Lesser Than)●-le:小于或等于(Lesser or Equal)●-ge:大于或等于(Greater or Equal)
常用的测试操作符[root@localhost ~]# who | wc -I7[root@localhost ~]# [ $(who | wc -I) -gt 5] && echo "Too many.”Too many.[root@localhost ~]# [ $(who | wc-I)-ge 10] && echo "> = 10.“
[root@localhost ~]# FreeCC=$(free -m | grep "Mem: " | awk '{print $4}')[root@localhost ~]# [ $FreeCC -|t 1024 ] && echo ${FreeCC}MB275MB
字符串比较格式1:[字符串1=字符串2]或[字符串1==字符串2][字符串1 != 字符串2 ]格式2:[-z 字符串] #检查字符串是否为空(Zero) ,对于未定义或赋予空值的变量将视为空串[-n字符串] #检查是否有字符串存在
常用的测试操作符●=:字符串内容相同●!=:字符串内容不同,!号表示相反的意思●-z:字符串内容为空
[root@localhost ~]# echo $LANGzh_CN.UTF-8[root@localhost ~]# [ $LANG != "en.US"] && echo "Not en.US"Not en.US
[root@localhost ~]# read -P“是否覆盖现有文件(yes/no) ?”ACK是否覆盖现有文件(yes/ro) ? yes[root@localhost ~]#[ $ACK = "yes" ] && echo "覆盖"覆盖
逻辑测试格式1:[表达式1]操作符[表达式2]格式2:命令1操作符命 令2
常用的测试操作符●-a或&&:逻辑与, "而且”的意思●-o或|| :逻辑或,“或者” 的意思●!:逻辑否
case多分支语句[root@localhost~]# cathitkey.sh#!/bin/bashread -p "请输入-个字符,并按Enter键确认:" KEYcase "$KEY" in[a-z]|[A-Z])echo "您输入的是字母.";;[0-9])echo "您输入的是数字.";;*)echo "您输入的是空格、功能键或其他控制字符."esac
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~