私はこのコマンドを入れ子にするよりきれいな方法が欲しいです。
if [ ! -d $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
mkdir -p $BACKUPDIR/directories
mkdir -p $BACKUPDIR/databases
mkdir -p $BACKUPDIR/logs
else
:
fi
ベストアンサー1
中かっこ拡張を使用すると、次のことができます。
mkdir -p "$BACKUPDIR"/{directories,databases,logs}
サブディレクトリも存在することを確認するには、mkdir
テストせずに実行します。これにより、-p
既存のディレクトリに不満があってはなりません。デフォルトのディレクトリは$BACKUPDIR
存在しますが、サブディレクトリが欠落している状況は発生しません。
(もちろん空の場合は、ファイルシステムのルートにサブディレクトリを作成しようとしますが、スクリプトで以前にいくつかの値を設定したとします。BACKUPDIR
)BACKUPDIR