Katakanlah saya punya folder:
./folder/
Di dalamnya ada banyak file dan bahkan sub-direktori.
Ketika saya mengeksekusi:
mkdir -p folder
Saya tidak akan melihat kesalahan, bahkan peringatan. jadi hanya ingin mengkonfirmasi, apakah ada yang hilang atau berubah dalam hasil perintah ini?
Jawaban:
mkdir -p
tidak akan memberi Anda kesalahan jika direktori sudah ada dan konten untuk direktori tidak akan berubah.Entri manual untuk
mkdir
sumber
if(err.code == 'EEXIST')
ini kondisi ini akan menjadi kenyataan jika direktori sudah ada.Sebuah script portabel akan mengandalkan POSIX, yang mengatakan dari
mkdir
's-p
pilihan:dan jika tidak ada kesalahan yang dilaporkan,
-p
opsi telah melakukan tugasnya:sumber
mkdir AKAN memberi Anda kesalahan jika direktori sudah ada.
mkdir -p TIDAK AKAN memberi Anda kesalahan jika direktori sudah ada. Juga, direktori akan tetap tidak tersentuh yaitu isinya dipertahankan seperti semula.
sumber
Itu kata kamu,
Anda akan melihat kesalahan jika perintah gagal. The
-p
bendera hanya menekan kesalahan jika direktori sudah ada.Masalah yang sama akan terjadi jika Anda mencoba membuat direktori sebagai pengguna normal di, katakanlah
/etc
,.Apa yang
-p
akan ditekan adalah kesalahan yang akan dipicu ketika direktori target sudah adaNamun dalam semua kasus Anda tidak akan kehilangan apa pun, dan tidak ada yang akan berubah. Dalam situasi kesalahan Anda tidak akan memiliki direktori yang Anda harapkan.
sumber
mkdir -p folder
saya tidak akan melihat kesalahan bahkan peringatan. "