Dans mon bash script je le fais :
mkdir product;
Lorsque je lance le script plus d'une fois, j'obtiens :
mkdir: product: File exists
Dans la console.
Je cherche donc à ne lancer mkdir que si le répertoire n'existe pas. Est-ce possible ?
Dans mon bash script je le fais :
mkdir product;
Lorsque je lance le script plus d'une fois, j'obtiens :
mkdir: product: File exists
Dans la console.
Je cherche donc à ne lancer mkdir que si le répertoire n'existe pas. Est-ce possible ?
Utilisez l'option de mkdir -p
mais notez qu'elle a aussi un autre effet.
-p Create intermediate directories as required. If this option is not specified, the full path prefix of each oper-
and must already exist. On the other hand, with this option specified, no error will be reported if a directory
given as an operand already exists. Intermediate directories are created with permission bits of rwxrwxrwx
(0777) as modified by the current umask, plus write and search permission for the owner.
Essayez d'utiliser ceci:-
mkdir -p dir;
NOTE:- Cela créera également tous les répertoires intermédiaires qui n'existent pas ; par exemple,
Vérifiez mkdir -p
ou essayez ceci:-
if [[ ! -e $dir ]]; then
mkdir $dir
elif [[ ! -d $dir ]]; then
echo "$Message" 1>&2
fi
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.