我有一个#!/ bin / sh脚本,其中包含以下行:
if [ ! -x "$TEST_SLAPD" ]
$TEST_SLAPD
是.bat文件的完整路径。
我想知道-x
语句在if
语句的上下文中意味着什么?
答案 0 :(得分:6)
if
只检查其后的命令结果。 [
不是(至少不总是)运算符,它是一个名为'test'的小实用程序。
从其文档:
-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.
(是的,!
显然是否定的)
对于类似的evualation标志,可在此处获取文档:http://illumos.org/man/1/test
答案 1 :(得分:2)
! -x
条件意味着文件或目录没有为当前用户设置可执行位。对于它也适用于目录这一事实的帮助有点不太明确,但它说:
$ help test | fgrep -- '-x'
-x FILE True if the file is executable by you.