一。利用test命令的测试功能
里面有用到变量的累加。
二。判断标志
文件名的文件类型判断
-e:文件名是否存在
-f:文件名是否存在且为文件
-d:文件名是否存在且为目录
文件的权限检测
-r, -w, -x
两个文件之间的比较
两个整数的比较字符串判定
-z:判断字符串是否为空,若是则返回true
-n:与-z相反,可以省略
=:
!=
多重条件判断
-a:两个条件同时成立返回true,如 test -r file -a -x file
-o:任何一个条件成立返回true, 如 test -r file -o -x file
!:反向状态,如test ! -x file
三。利用判断符号 [ ]
如下
要注意的是:
(1)中括号内的每个组件都在用空格分开。
(2)内部的变量最好用双引号包起来。
(3)内部的常量最好用单引号或者双引号包起来。
四。shell script 的默认变量
能否在脚本后面带参数?类似于在命令后面带参数。答案是可以。script实现这个功能的方法如下
/path/to/script opt1 opt2 opt3分别对应
$0 $1 $2 $3 $4
也就是说执行的脚本文件名为$0, 其它的是参数。
除此外,特殊的变量:
$#:表示参数的个数
$@:代表$1,$2,$3,$4之意,每个变量都是独立的(用双引号包起来)
$*:同上。
例子:
结果如下:
除此之外,我们还可以通过shift进行参数的移动。