我有这个代码,它被设置为一个步骤的条件。 代码中的'-d'是什么意思?
if [ -d $FTBASEDIR/$1/$2 ]; then
ftcmd="lcd $FTBASEDIR"
ftcmd2="cd $FTROOTDIR"
ftcmd3="put $1"
fi
答案 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>