[shell unix] if ... then ... else ... fi
Pitu
Messages postés
1441
Date d'inscription
Statut
Contributeur
Dernière intervention
-
bibiman23 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
bibiman23 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous.
Après plus de 2 heures de recherches, je capitule :
J'ai besoin de faire un tout bête conditionnement, et je n'y arrive pas :
Je souhaite tester l'existence d'un répertoire, et s'il n'existe pas, le créer.
2 solutions :
1/
if test -d $nomrep
then {---> Là, il me faut une instruction qui ne fasse rien
}
else {
echo 'Creation du repertoire' $nomrep
mkdir -p $nomrep
}
fi
=> Quelle instruction "vide" puis-je utiliser ?
2/ Tout simplement tester la non-existence du répertoire. Mais je n'y arrive pas non plus :
if !(test -d $nomrep) ... non
if test !(-d $nmrep) ... non plus
if test (!(-d $nomrep)) ... toujours pas
=> Comment formuler mon test ?
Merci d'avance.
Snifff ... j'ai honte de ne pas avoir trouvé tout seul ...
(:•Þ Pitu
Après plus de 2 heures de recherches, je capitule :
J'ai besoin de faire un tout bête conditionnement, et je n'y arrive pas :
Je souhaite tester l'existence d'un répertoire, et s'il n'existe pas, le créer.
2 solutions :
1/
if test -d $nomrep
then {---> Là, il me faut une instruction qui ne fasse rien
}
else {
echo 'Creation du repertoire' $nomrep
mkdir -p $nomrep
}
fi
=> Quelle instruction "vide" puis-je utiliser ?
2/ Tout simplement tester la non-existence du répertoire. Mais je n'y arrive pas non plus :
if !(test -d $nomrep) ... non
if test !(-d $nmrep) ... non plus
if test (!(-d $nomrep)) ... toujours pas
=> Comment formuler mon test ?
Merci d'avance.
Snifff ... j'ai honte de ne pas avoir trouvé tout seul ...
(:•Þ Pitu
A voir également:
- Unix if -z
- Code ascii de a à z - Guide
- Gpu z - Télécharger - Informations & Diagnostic
- Cpu z - Télécharger - Informations & Diagnostic
- Cpu z msi gaming ✓ - Forum Jeux PC
- Z flip 4 s'éteint quand je le ferme - Forum Samsung
20 réponses
Hé les gars y'a plus simple!
En shell, l'instruction vide, ou nulle, comme vous voulez, existe: c'est ";". Et pour test, essaie avec cette syntaxe:
if ! [ -d $nomRep ] .....
En effet, les crochets sont l'abbreviation de la cmd test. Mais faut pas oublier de mettre des espaces un peu partout autour, sinon ca marche pas, et on se prend la tete vite fait pour qqchose d'invisible.
Voila!
Fat_Cartman,
Parce que je le vaux bien...
En shell, l'instruction vide, ou nulle, comme vous voulez, existe: c'est ";". Et pour test, essaie avec cette syntaxe:
if ! [ -d $nomRep ] .....
En effet, les crochets sont l'abbreviation de la cmd test. Mais faut pas oublier de mettre des espaces un peu partout autour, sinon ca marche pas, et on se prend la tete vite fait pour qqchose d'invisible.
Voila!
Fat_Cartman,
Parce que je le vaux bien...
if [ ! -d ${nomrep} ] car le test c est [ donc on peut pas mettre le ! avant.
tous les espaces sont importants.
c'est utilisé pour lancer de manière séquentielle une série de commande... ;-)