このスクリプトコードがdir2を持っているかどうかを正しくテストし、存在しない場合は生成するかどうか疑問に思います。 Dir1はすでに存在します。
[ ! -d /dir1/dir2 ] && mkdir /dir1/dir2
答え1
dir1/dir2
存在するがディレクトリではない場合、コマンドは失敗する可能性があります。存在をテストするには、dir1/dir2
以下を使用します。-e
[ -e dir1/dir2 ] || mkdir dir1/dir2
本当にdir1/dir2
ディレクトリである必要があり、その名前の一般ファイルが間違って交換される必要がある場合は、この状況をテストできます。
[ -e dir1/dir2 ] && [ ! -d dir1/dir2 ] && rm dir1/dir2
[ -d dir1/dir2 ] || mkdir dir1/dir2