只有mkdir,如果它不存在

在我的bash脚本中:

mkdir product; 

当我运行脚本不止一次,我得到:

 mkdir: product: File exists 

在控制台中。

所以我期待只运行mkdir如果目录不存在。 这可能吗?

做一个testing

 [[ -d dir ]] || mkdir dir 

或者使用-p选项:

 mkdir -p dir 
 if [ ! -d directory ]; then mkdir directory fi 

要么

 mkdir -p directory 

-p确保在directory不存在的情况下创build

使用mkdir的-p选项,但是请注意它也有另外一个效果。

  -p Create intermediate directories as required. If this option is not specified, the full path prefix of each oper- and must already exist. On the other hand, with this option specified, no error will be reported if a directory given as an operand already exists. Intermediate directories are created with permission bits of rwxrwxrwx (0777) as modified by the current umask, plus write and search permission for the owner. 

mkdir -p

-p, – 父母不存在错误(如果存在),根据需要制作父目录

尝试使用这个: –

 mkdir -p dir; 

注意: –这也将创build任何不存在的中间目录; 例如,

看看mkdir -p

或者试试这个:

 if [[ ! -e $dir ]]; then mkdir $dir elif [[ ! -d $dir ]]; then echo "$Message" 1>&2 fi