#!/bin/bash #shell test命令 #Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 # -eq 等于则为真 # -ne 不等于则为真 # -gt 大于则为真 # -ge 大于等于则为真 # -lt 小于则为真 # -le 小于等于则为真 num1=100 num2=200 if test $[num1] -eq $[num2] then echo "num1 == num2"; else echo "num1 != num2"; fi #上面这种写法是否可行呢? if test $num1 -eq $num2 then echo "num1 == num2"; else echo "num1 !=num2"; fi #经过测试发现也是可行的 # 代码中的 [] 执行基本的算数运算,如: result=$[num1+num2] echo "$result"; # 在运算符篇,计算两个参数相加需要expr表达式 echo "expr表达式计算相加:`expr $num1 + $num2 `" ; # 试一试 使用 [] 执行算术运算符,发现也是可行 echo "$[num1-num2]"; echo $[num1*num2]; echo $[num1%num2]; echo "============字符串测试================="; # = 等于则为真 # != 不相等则为真 # -z 字符串 字符串的长度为零则为真 # -n 字符串 字符串的长度不为零则为真 a="java"; b="c++"; if test $a = $b then echo "a=b"; else echo "a!=b"; fi if test -z $a then echo "长度为0"; else echo "长度不为0"; fi echo "============文件测试================="; # -e 文件名 如果文件存在则为真 # -r 文件名 如果文件存在且可读则为真 # -w 文件名 如果文件存在且可写则为真 # -x 文件名 如果文件存在且可执行则为真 # -s 文件名 如果文件存在且至少有一个字符则为真 # -d 文件名 如果文件存在且为目录则为真 # -f 文件名 如果文件存在且为普通文件则为真 # -c 文件名 如果文件存在且为字符型特殊文件则为真 # -b 文件名 如果文件存在且为块特殊文件则为真 file="C:\Users\EDZ\Desktop\shell\demo.txt"; if test -e $file then echo "文件存在"; fi # Shell 还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为: ! 最高, -a 次之, -o 最低。例如: if test -e $file -o -e "C:\A.TXT" then echo "存在一个文件"; else echo "两个文件必须都存在"; fi
全文完,感谢您的耐心阅读~
欢迎大家关注我的公众号