为什么要 exit 0 退出呢?? 因为:一个shell脚本能够对任何从命令行上调用的命令的退出码进行测试。
test 或 [ 命令 大多数脚本程序都会使用shell的bool值判断命令。
当在使用
[ 命令时,还可以用 符号 ] 来结尾。
note:
如果程序不能正常工作,很可能是因为它与shell中的test 命令发生了冲突
简单使用: 检查一个文件是否存在 test -f
- if test -f fred.c 注意:在-f 前后都有空格符
-
then
-
....
-
fi
-
-
或者
-
if [ -f fred.c ] 注意:在[] 内两边都有空格符
-
then
-
...
-
fi
条件类型: 字符串比较 算术比较 文件有关的条件测试
字符串比较
- string =string2 如果两个字符相同则结果为真
-
string !=string2 不同为真
-
-n string 字符串不为空为真
-
-z string 如果字符串为null(一个空串),则结果为真
算术比较
- A -eq B 相等为 真
-
A -ne B 不同 为 真
-
A -gt B 大于
-
A -ge B 大于等于
-
A -lt B 小于
-
A -le B 小于等于
-
!A 如果表达式为假,为真,反之
文件条件测试
- -d file 文件是一个目录
-
-e file 文件存在 注意:-e 不可移植,-f 可以移植
-
-f file 文件是一个普通文件
-
-g file 如果文件的set-group-id位被设置
-
-r file 文件可读
-
-s file 文件的大小不为 0
-
-u file 文件的set-user-id位被设置
-
-w file 文件可写
-
-x file 文件可执行
测试/bin/bash 文件状态的例子
- #!/bin/sh
-
if [ -f /bin/bash ] #检查文件存在
-
then
-
echo "file /bin/bash exits"
-
fi
-
-
if [ -d /bin/bash ] #检查是否是 目录文件
-
then
-
echo "/bin/bash is a directory"
-
else
-
echo "/bin/bash is not a directory"
-
fi
阅读(1077) | 评论(0) | 转发(0) |