shell测试(' [')命令中-e选项的含义是什么?

时间:2015-05-29 10:13:52

标签: shell command

我在Linux中使用shell命令,我找到了这个命令:

while [ ! -e /tmp/.wm_ready ]; do sleep 0.1 ; done

我认为在创建sleep 0.1s之前,此命令会/tmp/.wm_ready

但我不知道-e选项是什么。谁能帮我解决这个问题呢?

3 个答案:

答案 0 :(得分:6)

检查FILE是否存在。您可以参考manual了解详情。

-e FILE
    FILE exists

另外,这里有一些其他有用的选项

   -d FILE
          FILE exists and is a directory
   -e FILE
          FILE exists
   -f FILE
          FILE exists and is a regular file
   -h FILE
          FILE exists and is a symbolic link (same as -L)
   -r FILE
          FILE exists and is readable
   -s FILE
          FILE exists and has a size greater than zero
   -w FILE
          FILE exists and is writable
   -x FILE
          FILE exists and is executable
   -z STRING
          the length of STRING is zero

答案 1 :(得分:1)

请参阅shell的手册。在我的(Mac OS X 10.10.3上的 ksh93 )中,它说:

-e file
   True, if file exists.

答案 2 :(得分:1)

为清楚起见,-e选项会检查文件目录(包括符号链接)。

条件

[ ! -e /tmp/.wm_ready ]

检查.wm_ready文件夹中的名称tmp是否存在任何文件或目录或符号链接