我正在尝试创建一个脚本来检测目录是否存在,如果不存在,则创建它。
我该怎么做?
我做了一些挖掘并发现了一条线索:
test -d directory
...将返回true
或false
,具体取决于目录是否存在。
但是如何将其与mkdir
?
答案 0 :(得分:9)
mkdir -p $directory
应该做你想做的事。 -p
选项将创建任何必需的父目录。如果$directory
已作为目录存在,则该命令不执行任何操作,并且成功。如果$directory
是常规文件,它将保持不变,并且命令将失败并显示相应的错误消息。
如果-p
没有mkdir
选项,test ... || mkdir ...
策略可能会失败,如果$directory
包含'/',并且该路径的某些组件尚不存在。无论如何test
是多余的,因为mkdir
在内部进行相同的测试。
答案 1 :(得分:3)
test ... || mkdir ...