Dans mon script bash je fais:
mkdir product;
Lorsque je lance le script plusieurs fois, je reçois:
mkdir: product: File exists
Dans la console.
Je cherche donc à lancer mkdir uniquement si le répertoire n'existe pas. Est-ce possible?
Faire un test
[[ -d dir ]] || mkdir dir
Ou utilisez l'option -p:
mkdir -p dir
if [ ! -d directory ]; then
mkdir directory
fi
ou
mkdir -p directory
-p
assure la création si directory
n'existe pas
Utilisez l'option -p
de mkdir, mais notez qu'elle a également 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.
mkdir -p
-p, --parents pas d'erreur s'il existe, crée les répertoires parents au besoin
Essayez d'utiliser ceci: -
mkdir -p dir;
REMARQUE: - Ceci créera également tous les répertoires intermédiaires qui n'existent pas. par exemple,
Départ mkdir -p
ou essayez ceci: -
if [[ ! -e $dir ]]; then
mkdir $dir
Elif [[ ! -d $dir ]]; then
echo "$Message" 1>&2
fi