![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Mac Avant de poster: Lire La FAQ Mac; Voir la page Outils; Voir les tutoriels. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre régulier
![]() Date d'inscription: février 2008
Messages: 132
|
Salut tout le monde, je voudrais récupérer la valeur de la commande find afin de choisir de faire un traitement
J'ai essayé avec le script suivant mais ça ne marche pas. Je crois que je manque qque choses Code :
if [ find /Applications/Autonome/test.log = 0 ] ; then echo "file not found !" fi Best regards |
|
|
|
|
|
#2 (permalink) | |
|
Membre émérite
![]() Date d'inscription: septembre 2006
Messages: 730
|
Citation:
Code :
`find /Applications/Autonome/test.log` et = sert pour comparer des strings, c'est -eq pour des entiers… mais pour tester l'existence d'un seul fichier : "test -e" ou "test -f" Code :
if ! test -e "/Applications/Autonome/test.log" then echo "file not found !" fi Code :
if ! test -f "/Applications/Autonome/test.log" then echo "file not found or not a regular file (maybe a directory, a socket, …)!" fi |
|
|
|
|
|
|
#3 (permalink) |
|
Membre régulier
![]() Date d'inscription: février 2008
Messages: 132
|
Je vous remercie pour votre réponse qui m'a bcp aidé.
J'ai encore une autre problème tjs dans ce sens. J'ai un script à exécuter et je voudrais avoir la valeur de retour de chaque commande afin d'ecrire dans un fichier log les erreurs éventuelles. Maintenant mon problème est de savoir si la copie s'est bien déroulé ou pas. j'ai essayé : Code :
if test 'cp /Autonome/ORDO.FDB /Applications/Test/' gt 0
then
echo "Erreur lors de la copie du fichier Odro.fdb">>install.log
fi
Pourrez vous m'eclaircir comment dois je faire. Merci encore de votre aide précieuse. |
|
|
|
|
|
#5 (permalink) |
|
Membre régulier
![]() Date d'inscription: février 2008
Messages: 132
|
Merci de votre réponse, c'est vrai que le lien est utile et permet de détecter le code d'erreur mais il n'est trés utile dans mon cas vu que je veux avoir le code de retour de la commande juste apré son exécution.
J'ai essayé le script suivant qui exécute la commande de la copie, ensuite essai de récupérer la veleur de retour. Code :
cp /Autonome/ORDO.FDB /Application/Test/ #le dossier n'exite pas pour provoquer une erreur if test $? -gt 0 then echo "Erreur lors de la copie du fichier ORDO.FDB !">>/install.log fi Merci de votre collaboration Cordialement |
|
|
|
|
|
#6 (permalink) | |
|
Membre émérite
![]() Date d'inscription: septembre 2006
Messages: 730
|
Citation:
Code :
if test $? -gt 0 then Code :
if test $? -gt 0 ; then |
|
|
|
|
|
|
#7 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: mars 2008
Localisation: Belgique
Messages: 22
|
En règle générale, pour "attraper" la sortie d'une commande et la passer en arguments à une autre, on peut utiliser la commande xargs
ex : $ find /chemin/ou/charcher/ -name * | xargs grep "chaine a chercher" ici xargs va prendre la liste retournée par find et la passer a grep |
|
|
|
![]() |
![]() |
||
récupérer valeur retourné find
|
||
| Outils de la discussion | |
|
|