2011-09-05 8 views

答えて

2

if [[ ! -d dirname ]]; then mkdir dirname; fi 

を使用する理由はあります。

dirnameがディレクトリとして存在しない場合、どちらも失敗するため、違いはありません。

+1

私はAIX上でkshを使用しています。 –

+1

私は 'mkdir -p'オプションを使うべきだと思います。なぜなら、それはもっと短く、ディレクトリを再帰的に作成できるからです。しかし、実際それは同じです。 – wormsparty

1
-d FILE  True if file is a directory. 

-p    no error if existing, make parent directories as needed. 

dirnameに両親が含まれていない場合、2つのコマンドは同じように動作します。しかし、dirnameに親が含まれている場合、-dはそれらを作成しません。 [[はシェル依存です。

+1

>> [[シェルに依存します。私が知っているのは です。私はAIX上でkshのスクリプトを書いています。 –

0

これらの2つのkshコマンドは機能的に同じです。どちらも、dirnameというディレクトリを作成するためです。

mkdir -p dirnameはよりエレガントです。