我试图检查文件夹是否存在。如果它没有,我就创建它。
我有这段代码:
if [ $(is_dir "$contaniningdir/run") = "NO"]; then
mkdir "$containingdir/run"
fi
但是,我得到了:
is_dir: command not found
那么这样做的正确方法是什么?
答案 0 :(得分:3)
你应该使用
if [ ! -d "$DIRECTORY" ]; then
# your mkdir and other stuff ...
fi
根据this question/answer.。另一个相关的问题/答案是here。
其中一条评论也提到了一个重要的通知:
要记住一件事:[! -d“$ DIRECTORY”]也是如此 如果$ DIRECTORY不存在,或者确实存在但不是目录。
您可以查看其他问题的页面。
is_dir是一个PHP函数,你可能无意中混入了bash :)
答案 1 :(得分:1)
bash能够在没有外部命令的情况下检查目录是否存在:
if [ ! -d "${containingdir}/run" ]; then
mkdir "${containingdir}/run"
fi
!
为否定,-d
检查参数是否存在且是否为目录