#1 Le 28/05/2015, à 19:32
- yaba64
Vérifier présence d'un fichier
Bonjour
J'aimerai savoir comment vérifier q'un paramètre d'un script est bon pas seulement présent
Par exemple si mon paramètre est le fichier analyse.log
comment faire pour tester la présence de ce fichier en $1
je pensais à ce genre de code :
if [ $1 ! -e $analyse.log ]
then ...
j'ai beau retourner dans tous les sens je n'y arrive pas
Merci pour l'aide apporté depuis le début
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#2 Le 28/05/2015, à 19:46
- Rufus T. Firefly
Re : Vérifier présence d'un fichier
Salut,
Ça ne répond pas à ta question, mais tu trouveras sûrement dans la bible du bash...
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
#3 Le 28/05/2015, à 21:33
- Compte anonymisé
Re : Vérifier présence d'un fichier
if [ -f $1 ] ; then
echo "Le fichier $1 existe."
fi
#4 Le 28/05/2015, à 22:18
- yaba64
Re : Vérifier présence d'un fichier
oui ça c'est ce que j'ai utilisé en attendant
mais le problème c'est que ça bug si je n'écris pas le fichier correctement car ça vérifie juste que param1 est bien rempli et il passe à la suite;
alors que moi je voudrais que si dans param1 je n'ai pas écrit précisément analyse.log il détecte l'erreur.
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#5 Le 28/05/2015, à 23:20
- Compte anonymisé
Re : Vérifier présence d'un fichier
if [ "$1" = "analyse.log" -a -f $1 ] ; then
echo "Le fichier $1 existe."
fi
#6 Le 29/05/2015, à 08:13
- yaba64
Re : Vérifier présence d'un fichier
Désolé ça ne marche pas ça !
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#7 Le 29/05/2015, à 08:32
- bruno
Re : Vérifier présence d'un fichier
if [[ "$1" = "analyse.log" && -f $1 ]] ; then
echo "Le fichier $1 existe."
fi
Hors ligne
#8 Le 29/05/2015, à 09:22
- yaba64
Re : Vérifier présence d'un fichier
Nikel bruno !! bon j'aurai jamais trouvé ça tout seul surtout à cause des doubles [[
c'est possible d'avoir une explication stp ??
Merci encore
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#9 Le 29/05/2015, à 10:10
- bruno
Re : Vérifier présence d'un fichier
Regarde le lien du message #2. Il doit y a voir une rubrique « tests ». Je ne me souviens plus l'explication exacte, mais il faut utiliser les doubles crochet lorsqu'on a des opérateurs logiques ou des expressions à évaluer.
Note que cela devrait également fonctionner comme ceci :
if [ "$1" = "analyse.log" ] && [ -f $1 ] ; then
echo "Le fichier $1 existe."
fi
Dernière modification par bruno (Le 29/05/2015, à 10:16)
Hors ligne
#10 Le 29/05/2015, à 10:15
- Compte anonymisé
Re : Vérifier présence d'un fichier
Je suis désolé mais c'est 2 écritures de la même chose qui fonctionne dans les 2 cas. J'ai pris soin de vérifier avant de te proposer cette solution.
Tu vas me dire que si tu fais tourner ce script :
#!/bin/bash
if [ "$1" = "analyse.log" -a -f "$1" ] ; then
echo "Le fichier $1 existe. (V1)"
fi
if [[ "$1" = "analyse.log" && -f "$1" ]] ; then
echo "Le fichier $1 existe. (V2)"
fi
il n'y a qu'un seul if sur les 2 qui fonctionne ???
#11 Le 29/05/2015, à 10:19
- bruno
Re : Vérifier présence d'un fichier
Au temps pour moi, je ne l'avais pas bien analysé, mais la commande donnée par alx est strictement équivalente.
Hors ligne
#12 Le 29/05/2015, à 10:52
- yaba64
Re : Vérifier présence d'un fichier
Beh alors je ne sais pas pk ça marchait pas j'avais peut être fait une erreur ailleurs
Merci à vous pour les infos, c'est sympa de votre part d'avoir pris sur votre temps pour m'aider
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#13 Le 29/05/2015, à 11:46
- Watael
Re : Vérifier présence d'un fichier
salut,
quel intérêt de passer une constante en tant que paramètre d'un script ?
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#14 Le 29/05/2015, à 15:04
- yaba64
Re : Vérifier présence d'un fichier
Aucun je trouve, c'est un exercice
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne