ディレクトリが存在するかどうかを検出し、存在しない場合は作成するスクリプトを作成しようとしています。
どうやってやるの?
私はいくつかの掘り下げを行い、手がかりを見つけました:
test -d directory
...ディレクトリが存在するかどうかに応じてtrue
orを返します。false
しかし、どうすればこれを と結びつけることができるmkdir
でしょうか?
mkdir -p $directory
あなたがしたいことをするべきです。この-p
オプションは、必要な親ディレクトリを作成します。ディレクトリとして既に存在する場合$directory
、コマンドは何もせず、成功します。が通常のファイルである場合$directory
はそのまま残り、コマンドは失敗して適切なエラー メッセージが表示されます。
への-p
オプションがない場合、「/」が含まれていて、そのパスの一部のコンポーネントがまだ存在しない場合mkdir
、test ... || mkdir ...
戦略は失敗する可能性があります。内部で同じテストを行うため$directory
、test
とにかく不要です。mkdir
test ... || mkdir ...