首页 > 代码库 > SHELL笔记7
SHELL笔记7
测试的结果为0或非0, 0表示真,非0表示假。
test命令
通常与if、while、until等语句一起使用。
#test 表达式
#test [ 表达式 ] //[后面后空格, ]前面有空格
文件属性测试表达式
表达式 说明 -b file 如果文件file存在且为块设备(Block speicial),则值为真 -c file 如果文件file存在且为字符设备(Character special),则值为真 -r file 如果文件file存在且为只读,则值为真 -w file 如果文件file存在且可写入,则值为真 -x file 如果文件file存在且可执行,则值为真 -s file 如果文件file存在且长度大于0,则值为真 -d file 如果file是一个目录,则值为真 -f file 如果文件file是一个普通文件,则值为真 -e file 如果文件存在,则值为真 测试示例
1 #! /bin/bash 2 #filename:filee 3 echo "Please enter the file name:" 4 read FILENAME 5 if test -e $FILENAME ; then 6 ls -l $FILENAME 7 else 8 touch $FILENAME 9 fi
测试数值
选项 说明 n1 -eq n2 n1 等于 n2,则为真 n1 -ne n2 n1 不等于 n2,则为真 n1 -gt n2 n1 大于 n2,则为真 n1 -lt n2 n1 小于 n2,则为真 n1 -ge n2 n1 大于等于 n2,则为真 n1 -le n2 n1 小于等于 n2,则为真 测试示例
1 #! /bin/bash 2 #filename:filee 3 echo "Please enter the first number:" 4 read N1 5 echo "Please enter the second number:" 6 read N2 7 if test $N1 -eq $N2 ; then 8 echo "N1 == N2" 9 else 10 echo "N1 != N2" 11 fi
测试字符串
选项 说明 -z s1 如果字符串s1的长度是0,则值为真 -n s1 如果字符串s1的长度不为0,则值为真 s1=s2 如果字符串s1与字符串s2相等,则值为真 s1!=s2 如果字符串s1与字符串s2不等,则值为真 s1 如果字符串s1不是空串,则值为真 测试示例
1 #! /bin/bash 2 #filename:filee 3 echo "Please enter the first string:" 4 read S1 5 echo "Please enter the second string:" 6 read S2 7 if test $S1 = $S2 ; then 8 echo "S1 == S2" 9 else 10 echo "S1 != S2" 11 fi
测试逻辑运算符
逻辑操作符 说明 -a 二进制“与”操作符 -o 二进制“或”操作符 ! 一元“非”操作符 测试示例
1 #! /bin/bash 2 #filename:filee 3 echo "Please enter the first string:" 4 read S1 5 echo "Please enter the second string:" 6 read S2 7 if test $S1 = $S2 -o $S1 = "abc" ; then 8 echo "S1 == S2" 9 else 10 echo "S1 != S2" 11 fi
SHELL笔记7
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。