Cr=c3=a9er un dossier avec shell bash uniquement si il n'existe pas
3 réponses
G2PC
# Créer le dossier installeur si il n'existe pas.
# ~/installeur est toujours inexistant du fait d'un chemin relatif donc
toujours recréé. Utiliser -h ne change rien.
# Je suis obligé de donner le path directement /home/seo/installeur
if [ -d "/home/seo/installeur" ]; then
echo " Le dossier ~/installeur existe déjà "
sleep 4
else
echo " Le dossier ~/installeur va être créé "
sleep 4
mkdir ~/installeur
fi
NB : L'idée était de créer un dossier installeur, dans lequel charger
executer puis supprimer les scripts d'installation.
Le soucis comme indiqué en commentaire :
# ~/installeur est toujours inexistant du fait d'un chemin relatif donc
toujours recréé. Utiliser -h ne change rien.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Ascoet
Le 13/02/2018 à 13:45, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas. # ~/installeur est toujours inexistant du fait d'un chemin relatif donc toujours recréé. Utiliser -h ne change rien. # Je suis obligé de donner le path directement /home/seo/installeur
Bonjour, ~ n'est pas un chemin relatif. Pour traiter ce cas, je filtre par: Admettons que ton dossier est stocke dans la variable dossiersc, ca donne: dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e 's#~#$HOME#' | sed -e "s#$HOME#$HOME#") -- Cordialement, Stephane Ascoet
Le 13/02/2018 à 13:45, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
# ~/installeur est toujours inexistant du fait d'un chemin relatif donc
toujours recréé. Utiliser -h ne change rien.
# Je suis obligé de donner le path directement /home/seo/installeur
Bonjour, ~ n'est pas un chemin relatif. Pour traiter ce cas, je filtre par:
Admettons que ton dossier est stocke dans la variable dossiersc, ca donne:
dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e 's#~#$HOME#' | sed -e
"s#$HOME#$HOME#")
--
Cordialement, Stephane Ascoet
# Créer le dossier installeur si il n'existe pas. # ~/installeur est toujours inexistant du fait d'un chemin relatif donc toujours recréé. Utiliser -h ne change rien. # Je suis obligé de donner le path directement /home/seo/installeur
Bonjour, ~ n'est pas un chemin relatif. Pour traiter ce cas, je filtre par: Admettons que ton dossier est stocke dans la variable dossiersc, ca donne: dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e 's#~#$HOME#' | sed -e "s#$HOME#$HOME#") -- Cordialement, Stephane Ascoet
Charles Plessy
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà. Amicalement, -- Charles Plessy Tsurumi, Kanagawa, Japan
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà.
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà. Amicalement, -- Charles Plessy Tsurumi, Kanagawa, Japan
G2PC
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà. Amicalement,
Erwan David disait, " Il serait plus propre d'utiliser mktemp pour créer un nouveau répertoire qu'on effacera après, non ? "
Je ne sais pas, mais, je vais regarder.
Stéphane Ascoet, dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e 's#~#$HOME#' | sed -e "s#$HOME#$HOME#")
Cette syntaxe me semble moins familière, je conserve pour voir par la
suite. Finalement, j'ai fais : # Vérifier si le dossier d'installation existe, sinon, le créer. ABS_PATH_INSTALLEUR=$(readlink -e ~/installeur) if [ -d "$ABS_PATH_INSTALLEUR" ]; then echo " Démarrage - Le dossier d'installation existe " sleep 3 else echo " Chargement - Le dossier d'installation n'existe pas et va être créé " sleep 3 mkdir ~/installeur fi
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà.
Amicalement,
Erwan David disait, " Il serait plus propre d'utiliser mktemp pour créer
un nouveau répertoire qu'on effacera après, non ? "
Je ne sais pas, mais, je vais regarder.
Stéphane Ascoet, dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e
's#~#$HOME#' | sed -e "s#$HOME#$HOME#")
Cette syntaxe me semble moins familière, je conserve pour voir par la
suite.
Finalement, j'ai fais :
# Vérifier si le dossier d'installation existe, sinon, le créer.
ABS_PATH_INSTALLEUR=$(readlink -e ~/installeur)
if [ -d "$ABS_PATH_INSTALLEUR" ]; then
echo " Démarrage - Le dossier d'installation existe "
sleep 3
else
echo " Chargement - Le dossier d'installation n'existe pas et va être
créé "
sleep 3
mkdir ~/installeur
Le Tue, Feb 13, 2018 at 01:45:11PM +0100, G2PC a écrit :
# Créer le dossier installeur si il n'existe pas.
mkdir -p ~/installeur # Ne fait pas d'erreur si le dossier existe déjà. Amicalement,
Erwan David disait, " Il serait plus propre d'utiliser mktemp pour créer un nouveau répertoire qu'on effacera après, non ? "
Je ne sais pas, mais, je vais regarder.
Stéphane Ascoet, dossierscr=$(echo ${dossiersc:-/dev/zero} | sed -e 's#~#$HOME#' | sed -e "s#$HOME#$HOME#")
Cette syntaxe me semble moins familière, je conserve pour voir par la
suite. Finalement, j'ai fais : # Vérifier si le dossier d'installation existe, sinon, le créer. ABS_PATH_INSTALLEUR=$(readlink -e ~/installeur) if [ -d "$ABS_PATH_INSTALLEUR" ]; then echo " Démarrage - Le dossier d'installation existe " sleep 3 else echo " Chargement - Le dossier d'installation n'existe pas et va être créé " sleep 3 mkdir ~/installeur fi