绪论
有关Shell脚本的一篇文章。
test命令用于检查某个条件是否成立,可以对数值、字符串和文件三个方面进行校验。
正文
数值测试
参数 | 说明 |
---|---|
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
字符串测试
参数 | 说明 |
---|---|
= | 等于则为真 |
!= | 不等于则为真 |
-z 字符串 | 字符串长度为0则为真 |
-n 字符串 | 字符串长度不为0则为真 |
文件测试
参数 | 说明 |
---|---|
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-e 文件名 | 如果文件存在则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
其它
参数 | 说明 |
---|---|
-a | 与,优先级:中 |
-o | 或,优先级:低 |
! | 非,优先级:高 |
#!/bin/bash
var1=20
var2=100
# 中括号可以执行基本的算数运算
if test $[var1+80] -eq $[var2]
then
echo "相等"
else
echo "不相等"
fi
str1="aaaa"
str2="bbbb"
if test $str1 = $str2
then
echo "相等"
else
echo "不相等"
fi
if test -e ./aa.text
then
echo "文件存在"
else
echo "文件不存在"
fi
if test $[var1+80] -eq $[var2] -a $str1 = $str2
then
echo "相等"
else
echo "不相等"
fi
结果
(若有什么错误,请留言指正,3Q)