#!/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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.