是否有任何理由使用mkdir -p vs if [[! -d目录名称]
if [[ ! -d dirname ]]; then mkdir dirname; fi
,而不是仅仅
mkdir -p dirname
是否有任何理由使用mkdir -p vs if [[! -d目录名称]
if [[ ! -d dirname ]]; then mkdir dirname; fi
,而不是仅仅
mkdir -p dirname
第一语法取决于你使用的shell,而不是第二。
因为如果dirname
不作为目录存在,则两者都失败,否则没有区别。
-d FILE True if file is a directory.
-p no error if existing, make parent directories as needed.
如果dirname
不包含任何父母那么这两个命令的行为相同。但是,如果dirname
包含父母,-d
将不会创建这些。而[[
是依赖于外壳的。
>> [[是依赖于外壳的。 我知道。我正在AIX上编写ksh的脚本。 –
这两个ksh命令在功能上是相同的,因为两者都会创建一个名为dirname
的目录。
mkdir -p dirname
更优雅。
我在AIX上使用ksh。 –
我认为应该使用'mkdir -p'选项,因为它更短,并允许递归创建目录。但真的,它是一样的。 – wormsparty