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