我有这个代码,它被设置为一个步骤的条件。代码中的“-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
而不需要。)