Disons que j'ai un dossier:
./folder/
Il contient de nombreux fichiers et même des sous-répertoires.
Quand j'exécute:
mkdir -p folder
Je ne verrai aucune erreur, même des avertissements. Je veux juste confirmer, y a-t-il quelque chose de perdu ou de changé suite à cette commande?
Réponses:
mkdir -p
ne vous donnerait pas d'erreur si le répertoire existe déjà et que le contenu du répertoire ne changera pas.Saisie manuelle pour
mkdir
la source
if(err.code == 'EEXIST')
cette condition deviendra vraie si le répertoire existe déjà.Un script portable s'appuiera sur POSIX, qui dit
mkdir
l'-p
option de:et si aucune erreur n'est signalée, l'
-p
option a fait son travail:la source
mkdir VOUS donnera une erreur si le répertoire existe déjà.
mkdir -p NE VOUS DONNERA PAS d'erreur si le répertoire existe déjà. De plus, le répertoire restera intact, c'est-à-dire que le contenu est conservé tel quel.
la source
Vous dites que,
Vous verrez une erreur si la commande échoue. L'
-p
indicateur supprime les erreurs uniquement si le répertoire existe déjà.Le même problème se produira si vous essayez de créer un répertoire comme, disons utilisateur normal,
/etc
.Ce que le
-p
suppress de volonté sont des erreurs qui seraient déclenchées lorsque le répertoire cible existe déjàCependant, dans tous les cas, vous ne perdrez rien et rien ne sera changé. Dans les situations d'erreur, vous n'aurez tout simplement pas le répertoire que vous attendiez.
la source
mkdir -p folder
je ne verrai aucune erreur, même des avertissements. "