Script Unix (sh) - Créer un fichier .log - Récupérer message d'erreur

Script Unix (sh) - Créer un fichier .log - Récupérer message d'erreur - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-01-2010 à 14:08:00    

Bonjour,
 
Je souhaiterai savoir comment récupérer le message d'erreur qui pourrait résulté d'un "move" (mv).
Si par exemple dans le script, la commande move "souhaite" déplacer un fichier vers un répertoire qui n'existe pas. Dans ce cas il ne le déplace pas pas. Il affiche un message d'erreur lorsque c'est tapé en direct. Maintenant je voudrais récupérer cette information pour le mettre dans le fichier de log. Après recherche sur google.fr/linux je ne trouve pas mon bonheur. Certainement car je n'ai pas les mots clés qu'il faut.
Merci pour votre aide, j'imagine que c'est quelque chose de basique...?


---------------
¤ JOE BAR TEAM ¤
Reply

Marsh Posté le 28-01-2010 à 14:08:00   

Reply

Marsh Posté le 28-01-2010 à 15:32:01    

Code :
  1. execcmd=$(mv /foo /bar 2>&1)
  2. echo "$execcmd"

Reply

Marsh Posté le 29-01-2010 à 01:25:20    

Pour le log, soit tu lance le script comme ça :

Code :
  1. ./script.sh 2>/tmp/log


 
Sinon au début du script tu peux mettre :  

Code :
  1. exec 2>/path/to/log


 
Remplace 2 par & si tu veut la sortie standard et la sortie d'erreur ( si ton shebang est bien bash )

Reply

Marsh Posté le 29-01-2010 à 09:59:35    

Merci beaucoup


---------------
¤ JOE BAR TEAM ¤
Reply

Marsh Posté le 29-01-2010 à 12:47:13    

Personnellement je ne procèderai pas comme ça, car là :  
- tu récupères l'ensemble des messages d'erreur que pourrai sortir ton script
- tu exécutes quand même la commande.
 
POur ton exemple de dossier inexistant, tu ferais mieux de faire un test avant de lancer la commande.
 
man test ...
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed