在mkdir时报错的解决方案,在网上找了很多文章都没有说清楚原因。
mkdir: cannot create directory `/home/image_path/201908/23/': No such file or directory
我的脚本很简单,在指定目录生成年月和日,如果不存在则创建。
#!/bin/bash
date_str=`date +%Y%m`
date_str1=`date +%d`
dir=/home/image_path
function run_mkcurrent_dir(){
my_dir="$dir/$date_str/$date_str1/"
if [ ! -d "$my_dir" ]; then
echo "创建文件夹"
mkdir -p $my_dir
else
echo "文件夹已存在"
fi
}
run_mkcurrent_dir;
报错的原因是: mkdir创建多级目录时需要加参数 p,
这个参数的意义:- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。