我正在尝试创建一个脚本来检测目录是否存在,如果不存在,则创建它。
我该如何做呢?
我查找了一些信息,发现了一个线索:
test -d directory
如果目录存在,true
将被返回;否则将返回 false
。
但是,如何将此与 mkdir
结合起来呢?
mkdir -p $directory
可以满足你的需求。选项-p
将创建任何必要的父目录。如果$directory
已经存在为一个目录,该命令将不起作用并且成功执行。如果$directory
是一个常规文件,它将保持不变并且该命令将失败,并显示相应的错误消息。
如果没有-p
选项使用mkdir
,则test ... || mkdir ...
策略可能会失败,如果$directory
包含'/',并且该路径的某个组件不存在。不管怎样test
是多余的,因为mkdir
在内部执行了同样的测试。
test ... || mkdir ...