用于测试目录是否存在以及是否创建目录的Shell脚本?

时间:2010-05-30 04:45:16

标签: shell directory exists

我正在尝试创建一个脚本来检测目录是否存在,如果不存在,则创建它。

我该怎么做?

我做了一些挖掘并发现了一条线索:

test -d directory

...将返回truefalse,具体取决于目录是否存在。

但是如何将其与mkdir

结合在一起

2 个答案:

答案 0 :(得分:9)

mkdir -p $directory应该做你想做的事。 -p选项将创建任何必需的父目录。如果$directory已作为目录存在,则该命令不执行任何操作,并且成功。如果$directory是常规文件,它将保持不变,并且命令将失败并显示相应的错误消息。

如果-p没有mkdir选项,test ... || mkdir ...策略可能会失败,如果$directory包含'/',并且该路径的某些组件尚不存在。无论如何test是多余的,因为mkdir在内部进行相同的测试。

答案 1 :(得分:3)

test ... || mkdir ...
相关问题