Powiedz, że mam folder:
./folder/
Wewnątrz znajduje się wiele plików, a nawet podkatalogów.
Kiedy wykonam:
mkdir -p folder
Nie zobaczę żadnych błędów, nawet ostrzeżeń. więc po prostu chcę potwierdzić, czy w wyniku tego polecenia coś zostało utracone lub zmienione?
Odpowiedzi:
mkdir -p
nie spowoduje błędu, jeśli katalog już istnieje, a zawartość katalogu się nie zmieni.Ręczne wprowadzanie dla
mkdir
źródło
if(err.code == 'EEXIST')
ten warunek spełni się, jeśli katalog już istnieje.Przenośny skrypt polegać na POSIX, który mówi o
mkdir
„s-p
opcji:a jeśli nie zgłoszono żadnych błędów,
-p
opcja wykonała swoją pracę:źródło
mkdir BĘDZIE wyświetlał błąd, jeśli katalog już istnieje.
mkdir -p NIE BĘDZIE wyświetlać błędu, jeśli katalog już istnieje. Ponadto katalog pozostanie nietknięty, tzn. Zawartość zostanie zachowana tak, jak była.
źródło
Mówisz tak,
Zobaczysz błąd, jeśli polecenie się nie powiedzie.
-p
Flag tłumi tylko błędy jeśli katalog już istnieje.Ten sam problem występuje w przypadku próby utworzenia katalogu jako zwykły użytkownik, powiedzmy,
/etc
.Co
-p
wstrzyma są błędy, które mogłyby być wyzwalane, gdy już istnieje katalog docelowyJednak we wszystkich przypadkach nic nie stracisz i nic się nie zmieni. W sytuacjach błędów po prostu nie będziesz mieć katalogu, którego się spodziewałeś.
źródło
mkdir -p folder
, nie zobaczę żadnych błędów, nawet ostrzeżeń ”