是否有任何理由使用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