#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
这似乎不管用。有人能帮忙吗?
#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
这似乎不管用。有人能帮忙吗?
当前回答
我认为你应该重新格式化一下你的代码:
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
其他回答
首先,在Bash中[只是一个命令,需要字符串]作为最后一个参数,因此右括号前的空格(以及中间!)d也需要作为两个单独的参数)很重要:
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi
其次,由于您正在为mkdir使用-p switch,因此这种检查是无用的,因为这是它首先要做的事情。只写:
mkdir -p /home/mlzboy/b2c2/shared/db;
就是这样。
我认为你应该重新格式化一下你的代码:
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
mkdir -p /home/mlzboy/b2c2/shared/db;
fi;
只是做的事:
mkdir /path/to/your/potentially/existing/folder
如果文件夹已经存在,Mkdir将抛出一个错误。要忽略错误,请写:
mkdir -p /path/to/your/potentially/existing/folder
不需要做任何检查或类似的事情。
供参考:
-p,——parents如果存在没有错误,根据需要创建父目录http://man7.org/linux/man-pages/man1/mkdir.1.html
在[和]括号内需要空格:
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]
then
mkdir -p /home/mlzboy/b2c2/shared/db
fi
在任何地方创建目录
OUTPUT_DIR =什么
if [ ! -d ${OUTPUT_DIR} ]
then
mkdir -p ${OUTPUT_DIR}
fi