'-d'在Unix中做了什么?

时间:2013-03-15 01:50:23

标签: unix

我有这个代码,它被设置为一个步骤的条件。 代码中的'-d'是什么意思?

if [ -d $FTBASEDIR/$1/$2 ]; then
    ftcmd="lcd $FTBASEDIR"
    ftcmd2="cd $FTROOTDIR"
    ftcmd3="put $1"
fi

3 个答案:

答案 0 :(得分:4)

这意味着:以下参数是一个目录吗?

bash联机帮助页(CONDITIONAL EXPRESSIONS下):

-d file
    True if file exists and is a directory.

有很多这些,让你发现常规文件,字符特殊文件,文件是否可写等等。

答案 1 :(得分:1)

来自http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions

-d file
     

如果文件存在并且是目录,则为真。

答案 2 :(得分:1)

[实际上是一个命令名,(几乎)等同于test命令。

[test都作为许多shell中的内置命令实现,并且作为实际可执行文件,通常在/usr/bin[通常是符号链接到test)。 (在过去,它们只是可执行文件;将它们构建到shell中可以更快地执行测试。)

bash或test命令的文档说明-d测试以下参数是否是目录。

(我在上面写了“差不多”;不同之处在于[需要匹配的]参数,而test则不需要。{/ p>