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 mkdirbireyin -pseçeneği:
Varolan bir dizini adlandıran her dir işlenen hatasız göz ardı edilir.
ve bildirilen hata yoksa, -pseç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 folderherhangi bir hata bile uyarı görmeyeceğim.
Komut başarısız olursa bir hata görürsünüz. -pDizin 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 -pirade 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 folderbile uyarılar hataları görmez. "