如何使用Bash创建一个文件夹,如果它尚不存在?

#!/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

其次,由于您正在使用-p切换到mkdir ,所以此检查无用,因为这是首先要做的。 写吧:

mkdir -p /home/mlzboy/b2c2/shared/db;

这就是它。


实际上不需要检查它是否存在。 既然你已经想创建它,只要mkdir会做

mkdir -p /home/mlzboy/b2c2/shared/db

简单地做:

mkdir /path/to/your/potentially/existing/folder

如果文件夹已经存在,mkdir会抛出一个错误。 要忽略错误,请写下:

mkdir -p /path/to/your/potentially/existing/folder

不需要做任何检查或类似的事情。

链接地址: http://www.djcxy.com/p/97117.html

上一篇: How to use Bash to create a folder if it doesn't already exist?

下一篇: Check if a directory exists recursively reversing the path