目录
- 1、数值
- 1.1、数值大小比较
- 1.2、数据值运算
- 2、字符串
- 2.1、示例1:字符串是否相等
- 2.2、示例2:字符串为空
- 3、文件判断
- 4、逻辑运算
- 5、if elif else
1、数值
1.1、数值大小比较
示例1:
#!/bin/bash
num1=100
num2=200
if test $[num1] -eq $[num2]
then
echo \’两个数相等!\’
else
echo \’两个数不相等!\’
fi
1.2、数据值运算
示例1:
#!/bin/bash
a=5
b=6
result=$[a+b] # 注意等号两边不能有空格
echo \”result 为: $result\”
2、字符串
2.1、示例1:字符串是否相等
注意:字符串比较时,变量最好使用引号,如果变量都不为空,则没有任何问题,如果变量为空,则会报错。
示例
#!/bin/bash
num1=\”ru1noob\”
num2=\”runoob\”
if test $num1 = $num2
then
echo \’两个字符串相等!\’
else
echo \’两个字符串不相等!\’
fi
2.2、示例2:字符串为空
#!/bin/bash
str=\”\”
str2=\”aaa\”
if test -z $str
then
echo \’字符str为空!\’
else
echo \’字符str值不为空\’
fi
if test -z $str2
then
echo \’字符str2为空!\’
else
echo \’字符str2值不为空\’
fi
3、文件判断
示例:
#!/bin/bash
fileName1=\”/cygdrive/c/Users/admin/Desktop/sh学习/demo1-1.sh\”
if test -e $fileName1
then
echo \’文件已存在!\’
else
echo \’文件不存在!\’
fi
4、逻辑运算
其优先级为: ! 最高, -a 次之, -o 最低。
示例1:-a 使用
#!/bin/bash
str=\”aa\”
str2=\”bb\”
if test -n \”$str\” -a -n \”$str2\”
then
echo \’str 和 str2 都有值!\’
else
echo \’str 、 str2 至少有一个为空\’
fi
示例2:-a 、-o 使用
登录时,对用户名和密码进行验证:
#!/bin/bash
read -p \”请输入用户名和密码:\” username pwd
echo \”username=$username\”
echo \”pwd=$pwd\”
if test -z \”$username\” -o -z \”$pwd\”
then
echo \’用户名和密码均不能为空\’
exit 2
else
echo \’用户名和密码 非空验证通过\’
fi
if test \”$username\” = \”admin\” -a \”$pwd\” = \”123\”
then
echo \’登录成功\’
else
echo \’用户名或密码不正确\’
exit 2
fi
5、if elif else
1)数值
#!/bin/bash
#提示用户输入分数
read -p \”请输入你的分数:\” score
#进行判断
if [ \”$score\” -ge 90 -a \”$score\” -le 100 ]
then
echo \”优秀\”
elif [ \”$score\” -ge 80 -a \”$score\” -lt 90 ]
then
echo \”良好\”
elif [ \”$score\” -ge 70 -a \”$score\” -lt 80 ]
then
echo \”一般\”
elif [ \”$score\” -ge 60 -a \”$score\” -lt 70 ]
then
echo \”及格\”
else
echo \”西西睡把\”
fi
2)文件
#!/bin/bash
#提示用户输入
read -p \”请输入内容:\” con
if [ -z \”$con\” ]
then
echo \”为空\”
elif [ -d \”$con\” ]
then
echo \”是目录\”
elif [ -f \”$con\” ]
then
echo \”是文件\”
else
echo \”错误\”
fi
到此这篇关于shell中if test使用详解的文章就介绍到这了,更多相关shell if test内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!
您可能感兴趣的文章:
- Shell脚本中的printf命令使用
- Linux shell中的printf的详细用法
- shell学习之printf命令格式化输出语句
- Linux shell中的test命令用法教程
- Shell脚本test命令使用总结和实例
- Shell中printf和test命令的实际应用详解