A voir également:
- Vérifier l'existence d'un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Verifier un lien - Guide
- Fichier host - Guide
4 réponses
x11r6
Messages postés
353
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
7 mars 2017
59
19 mars 2009 à 00:45
19 mars 2009 à 00:45
bonsoir
test -f lefichier
cordialement
test -f lefichier
cordialement
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 608
19 mars 2009 à 00:47
19 mars 2009 à 00:47
Un petit indice pour tester l'existence d'un fichier :
if [ -e $fichier ] then...
if [ -e $fichier ] then...
x11r6
Messages postés
353
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
7 mars 2017
59
19 mars 2009 à 00:48
19 mars 2009 à 00:48
ou bien...
if [ -f lefichier ]
then
// le fichier existe
else
// le fichier existe pas
fi
man test
cordialement
if [ -f lefichier ]
then
// le fichier existe
else
// le fichier existe pas
fi
man test
cordialement
Merci de votre réponse.
Cependant j'ai un probléme pour adapter cette commande.
Je m'explique....
supposons que j'entre la commande :
$ sh test.sh fichier1
en ayant ds le script :
if [ -e $* ]
echo "le fichier $* existe"
else
echo "le fichier $* n'existe pas"
fi
on a comme résultat :
le fichier fichier1 existe
Cependant, lorsque je tape comme commande : $ sh test.sh fichier1 fichier1
on a comme résultat le fichier fichier1 fichier2 n'existe pas.
Comment faire pour que le test soit fait d'un coup uniquement sur fichier1 et d'un autre coup sur fichier2 et non pas sur "fichier1 fichier2" ( qui correspond à rien )?
Merci
Cependant j'ai un probléme pour adapter cette commande.
Je m'explique....
supposons que j'entre la commande :
$ sh test.sh fichier1
en ayant ds le script :
if [ -e $* ]
echo "le fichier $* existe"
else
echo "le fichier $* n'existe pas"
fi
on a comme résultat :
le fichier fichier1 existe
Cependant, lorsque je tape comme commande : $ sh test.sh fichier1 fichier1
on a comme résultat le fichier fichier1 fichier2 n'existe pas.
Comment faire pour que le test soit fait d'un coup uniquement sur fichier1 et d'un autre coup sur fichier2 et non pas sur "fichier1 fichier2" ( qui correspond à rien )?
Merci
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 608
>
Arun
19 mars 2009 à 09:03
19 mars 2009 à 09:03
C'est normal, $* correspond à l'ensemble des valeurs passées en paramètre.
arun
>
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
19 mars 2009 à 14:50
19 mars 2009 à 14:50
Comment pourrais-je donc faire pour que je programme vérifie le $1 en premier puis le $2 ainsi de suite jusqu'au nombre d'arguments que j'entre ?
Merci
Merci
jivef
Messages postés
927
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
12 novembre 2020
306
19 mars 2009 à 20:07
19 mars 2009 à 20:07
Bonjour,
La solution est $@ qui prend les paramètres un par un.
Mais je te conseille de mettre ton test à l'intérieur d'une boucle for...
Pour être bref :
#!/bin/sh
for $@ in param1 param2 param3 [...] param22487899887755396
do
if test ...
..
fi
done.
Vérifie la syntaxe, mais je crois que c'est ça.
Bien à toi
La solution est $@ qui prend les paramètres un par un.
Mais je te conseille de mettre ton test à l'intérieur d'une boucle for...
Pour être bref :
#!/bin/sh
for $@ in param1 param2 param3 [...] param22487899887755396
do
if test ...
..
fi
done.
Vérifie la syntaxe, mais je crois que c'est ça.
Bien à toi