いくつかのデータベースをNice/neatディレクトリ構造にダンプするクイックバックアップスクリプトを作成していますが、作成する前にディレクトリが存在することを確認するためにテストする必要があることに気付きました。私が持っているコードは動作しますが、それを行うためのより良い方法があるようです。助言がありますか?
[ -d "$BACKUP_DIR" ] || mkdir "$BACKUP_DIR"
[ -d "$BACKUP_DIR/$client" ] || mkdir "$BACKUP_DIR/$client"
[ -d "$BACKUP_DIR/$client/$year" ] || mkdir "$BACKUP_DIR/$client/$year"
[ -d "$BACKUP_DIR/$client/$year/$month" ] || mkdir "$BACKUP_DIR/$client/$year/$month"
[ -d "$BACKUP_DIR/$client/$year/$month/$day" ] || mkdir "$BACKUP_DIR/$client/$year/$month/$day"
-p
パラメーターを使用できます。これは、 ドキュメントに記載 です。
-p、-parents
既存の場合はエラーなし、必要に応じて親ディレクトリを作成
そう:
mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"
$ mkdir -p "$BACKUP_DIR/$client/$year/$month/$day"
既存の答えは間違いなく目的を解決しますが、2つの異なるサブディレクトリの下にネストされたディレクトリ構造を複製したい場合は、これを行うことができます
mkdir -p {main,test}/{resources,scala/com/company}
呼び出されたディレクトリの下に次のディレクトリ構造を作成します
├── main
│ ├── resources
│ └── scala
│ └── com
│ └── company
└── test
├── resources
└── scala
└── com
└── company
例は、SBTディレクトリ構造を作成するための this link から取られました