我有一个 #!/bin/sh 脚本,其中包含以下行:
if [ ! -x "$TEST_SLAPD" ]
$TEST_SLAPD
是 .bat 文件的完整路径。
我想知道该-x
标志在该声明的上下文中意味着if
什么?
我有一个 #!/bin/sh 脚本,其中包含以下行:
if [ ! -x "$TEST_SLAPD" ]
$TEST_SLAPD
是 .bat 文件的完整路径。
我想知道该-x
标志在该声明的上下文中意味着if
什么?
if
只是检查它后面的命令的结果。[
不是(至少不总是)操作员,它是称为“测试”的小实用程序。
从其文档中:
-x file
True if file exists and is exe-
cutable. True indicates only
that the execute flag is on. If
file is a directory, true indi-
cates that file can be searched.
(是的,!
显然是否定的)
对于类似的评估标志,文档可在此处获得:http: //illumos.org/man/1/test
! -x
条件意味着文件或目录没有为当前用户设置可执行位。该帮助对它也适用于目录这一事实不太清楚,但它说:
$ help test | fgrep -- '-x'
-x FILE True if the file is executable by you.