我有这个代码,它被设置为一个步骤的条件。代码中的“-d”是什么意思?
if [ -d $FTBASEDIR/$1/$2 ]; then
ftcmd="lcd $FTBASEDIR"
ftcmd2="cd $FTROOTDIR"
ftcmd3="put $1"
fi
我有这个代码,它被设置为一个步骤的条件。代码中的“-d”是什么意思?
if [ -d $FTBASEDIR/$1/$2 ]; then
ftcmd="lcd $FTBASEDIR"
ftcmd2="cd $FTROOTDIR"
ftcmd3="put $1"
fi
这意味着:以下参数是目录吗?
从bash手册页(下CONDITIONAL EXPRESSIONS):
-d file
True if file exists and is a directory.
有很多这些,让您发现常规文件、字符特殊文件、文件是否可写等等。
来自http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions:
-d file如果文件存在并且是目录,则为真。
[实际上是一个命令名,(几乎)等同于test命令。
两者[和test都作为许多 shell 中的内置命令实现,也作为实际的可执行文件实现,通常在/usr/bin([通常是指向test) 的符号链接。(在过去,它们只是可执行文件;将它们构建到 shell 中可以更快地执行测试。)
bash 或test命令的文档解释了-d测试以下参数是否是目录。
(我在上面写了“几乎”;不同之处在于[需要匹配的]参数,test而不需要。)