5

ディレクトリが存在するかどうかを検出し、存在しない場合は作成するスクリプトを作成しようとしています。

どうやってやるの?

私はいくつかの掘り下げを行い、手がかりを見つけました:

test -d directory

...ディレクトリが存在するかどうかに応じてtrueorを返します。false

しかし、どうすればこれを と結びつけることができるmkdirでしょうか?

4

2 に答える 2

9

mkdir -p $directoryあなたがしたいことをするべきです。この-pオプションは、必要な親ディレクトリを作成します。ディレクトリとして既に存在する場合$directory、コマンドは何もせず、成功します。が通常のファイルである場合$directoryはそのまま残り、コマンドは失敗して適切なエラー メッセージが表示されます。

への-pオプションがない場合、「/」が含まれていて、そのパスの一部のコンポーネントがまだ存在しない場合mkdirtest ... || mkdir ...戦略は失敗する可能性があります。内部で同じテストを行うため$directorytestとにかく不要です。mkdir

于 2010-05-30T05:33:19.460 に答える
3
test ... || mkdir ...
于 2010-05-30T04:47:24.513 に答える