#!/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;
就是这样。
其他回答
在任何地方创建目录
OUTPUT_DIR =什么
if [ ! -d ${OUTPUT_DIR} ]
then
mkdir -p ${OUTPUT_DIR}
fi
实际上不需要检查它是否存在。既然您已经想要在它存在的情况下创建它,那么mkdir就可以了
mkdir -p /home/mlzboy/b2c2/shared/db
首先,在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;
在[和]括号内需要空格:
#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]
then
mkdir -p /home/mlzboy/b2c2/shared/db
fi