1.关于read比较两个的大小
#!/bin/sh read -t 10 -p "please input two num:" a b if [ $a -gt $b ]; then echo "yes $a > $b" elif [ $a -eq $b ];then echo "yes $b == $a" else echo "yes $a < $b" fi
2.测试语句
- 条件测试语法
语法:test <测试表达式>
[<测试表达式>] 经常用
[[<测试表达式>]]
例子:判断file文件是否存 在,存在输出1,不存在输出0
test -f file && echo 1 || echo 0
[ -f file ] && echo 1 || echo 0
[ -f file -a -d folder ] && echo 1 || echo 0
[[ -f file ]] && echo 1 || echo 0
[[ -f file && -d folder ]] && echo 1 || echo 0
注意:[] 里面不能用&& 用-a 代替
- 文件测试操作符
-f 文件存在且为普通文件则为真
-d 文件存在且为目录文件则为真
-s 文件存在且不为空,则为真
-e 文件存在则为真
-r 文件存在且为可读,则为真
-x 文件存在且为执行文件,则为真
-w 文件存在且为可写文件,则为真
-L 文件存在且为链接文件,则为真
f1 -nt f2 f1 文件比f2文件新,则为真
f1 -ot f2 f1 文件比f2文件旧,则为真
- 字符串测试操作符
-z "string" 若字符串的长度为0则为真
-n "string" 若字符串的长度不为0则为真
"string1"="string" 若string1等于string2则为真
"string1"!="string2" 若string1不等于string2则为真
- 整数二元比较操作符
[] [[]]或(())
-eq ==
-ne !=
-gt >
-ge >=
-lt <
-le <=