Diyelim ki bir klasörüm var:
./folder/
İçinde birçok dosya ve hatta alt dizinler var.
Çalıştırdığımda:
mkdir -p folder
Uyarılar bile hata görmeyeceğim. sadece onaylamak istiyorum, bu komutun sonucunda kaybedilen veya değiştirilen bir şey var mı?
Diyelim ki bir klasörüm var:
./folder/
İçinde birçok dosya ve hatta alt dizinler var.
Çalıştırdığımda:
mkdir -p folder
Uyarılar bile hata görmeyeceğim. sadece onaylamak istiyorum, bu komutun sonucunda kaybedilen veya değiştirilen bir şey var mı?
Yanıtlar:
mkdir -p
dizin zaten varsa ve dizinin içeriği değişmezse size bir hata vermez.
if(err.code == 'EEXIST')
durumunda, dizin zaten varsa bu koşul doğru olur gibi kodu kontrol edebilirsiniz .
Taşınabilir bir senaryo diyor POSIX'e, istinat edecektir mkdir
bireyin -p
seçeneği:
Varolan bir dizini adlandıran her dir işlenen hatasız göz ardı edilir.
ve bildirilen hata yoksa, -p
seçenek işini yaptı:
Eksik ara yol adı bileşenleri oluşturun.
mkdir Dizin zaten varsa size bir hata verecektir.
mkdir -p Dizin zaten varsa size bir hata VERMEZ. Ayrıca, dizine dokunulmadan kalır, yani içerik eskisi gibi korunur.
Bunu sen söyledin,
Çalıştırdığımda
mkdir -p folder
herhangi bir hata bile uyarı görmeyeceğim.
Komut başarısız olursa bir hata görürsünüz. -p
Dizin zaten varsa bayrak sadece hataları bastırır.
touch x
mkdir -p x
mkdir: cannot create directory ‘x’: File exists
Örneğin, normal kullanıcı olarak bir dizin oluşturmaya çalışırsanız da aynı sorun ortaya çıkar /etc
.
Ne -p
irade bastırmak hedef dizin zaten var tetiklenecek olur hatalarıdır
mkdir y
mkdir -p y
Ancak her durumda hiçbir şey kaybetmezsiniz ve hiçbir şey değişmez. Hata durumlarında beklediğiniz dizine sahip olmayacaksınız.
mkdir -p folder
bile uyarılar hataları görmez. "