在我的 bash 脚本中,我这样做:
mkdir product;
当我多次运行脚本时,我得到:
mkdir: product: File exists
在控制台中。
因此,如果目录不存在,我希望只运行 mkdir 。这可能吗?
做一个测试
[[ -d dir ]] || mkdir dir
或使用 -p 选项:
mkdir -p dir
if [ ! -d directory ]; then
mkdir directory
fi
或者
mkdir -p directory
-p
directory
如果不存在则确保创建
使用 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, --parents 如果存在则没有错误,根据需要创建父目录
尝试使用这个: -
mkdir -p dir;
注意:-这也将创建任何不存在的中间目录;例如,
查看mkdir -p
或试试这个: -
if [[ ! -e $dir ]]; then
mkdir $dir
elif [[ ! -d $dir ]]; then
echo "$Message" 1>&2
fi