[ -f b.txt ]&& echo 1||echo 0
-f:判断是否为文件
-e:判断文件是否存在
-d:判断是否为目录
-r:判断是否可读
-w:判断是否可写
-x:判断是否可执行
对单个文件或目录变量的测试需要加双引号,避免错误
file=/etc/services [ -f "$file" ]&& echo 1||echo 0
条件表达式判断条件后面执行多条命令语句写法
#!/bin/bash
[ $1 -eq 2 ]&&{
echo "true"
}||{
echo "false"
}
# &&成立后执行后面的语句; ||不成立就执行后面的语句
#如果输入的值等于2就打印true
#否则打印false
#sh test.sh 2:打印true常用字符串测试操作符:
| -z "字符串" | 字符串长度为0则为真 |
| -n "字符串" | 字符串长度不为0则为真 |
| "串1" = "串2" | 串1等于串2则为真 |
| "串1" != "串2" | 串1不等于串2则为真 |
PS:
①、以上表格中的字符串测试操作符号务必要用""引起来
②、比较符号的两端必须有空格
#字符串长度为0所以输出1 [ -n "" ]&& echo 1||echo 0
原文:http://blog.51cto.com/19940428/2066493