4.8 测试语句
这里所说的测试是对变量的大小、字符串、文件属性等内容进行判断。test命令可以用于字符串、数字、文件状态等内容的测试。本节将讲述shell的测试语句。
4.8.1 文件状态测试
文件状态测试指的是对文件的权限、有无、属性、类型等内容进行判断。与其他语言不同的是,test命令的测试结果,返回0时表示测试成功。返回1时表示测试失败。如表4.3所示是文件测试的参数列表。
表4.3 文件状态测试表
|
-d 测试文件是否是目录文件< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
-s 测试文件是否非空 |
|
-f 测试文件是否是正规文件 |
-w 测试是否可写 |
|
-L 测试文件是否是符号连接 |
-u 测试文件是否有suid位设置 |
|
-x 测试文件是否可执行 |
-r 测试文件是否可读 |
例如下面的例子是用这些测试参数,对文件的属性进行测试。
从主菜单中打开一个终端。
测试文件/windows是否是一个目录。在终端中输入下面的命令,然后按“Enter”键。
输出测试结果。$ 用于保存上一个命令的结果,可以用下面的命令进行输出。
终端中输出结果1,表明/windows不是一个目录。
测试当前目录下的文件a.txt是否可以执行。从表4.3中可知,测试是否可以执行的参数是-x,所以输入的命令如下所示。
按“Enter”键执行。输入“echo $ ”命令输出结果。
终端中显示的结果是1。表明文件a.txt是不能执行的。