在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 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。