Exécution de commandes lues depuis un fichier
Bonjour,
J'ai créé ce script SH (bash) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #/bin/bash --verbose -x
#!/bin/bash --debug --verbose
#
#--VARIABLES--
#
FILLOG=/appl/XXX_F1_LOGS/XXX_F1_LOGS_hostname.log
#
#--TRAITEMENT--
echo " -- LECTURE ET EXECUTION COMMANDES--" > $FILLOG
ligne=0
resultat=0
old_IFS=$IFS
IFS=$'\n\t'
#
echo --test_ls_alrt-- >> $FILLOG
ls -alrt >> $FILLOG
#
for ligne in $(cat /appl/XXX_F1_LOGS/hostname_commandes_repair.txt)
do
resultat=0
echo "__" >> $FILLOG
echo "_commande_a_executer_="$ligne >> $FILLOG
$ligne >> $FILLOG #ICI
resultat=$?
echo "_RESULAT_COMMANDE_="$resultat >> $FILLOG
if [ $resultat -gt 0 ]
then
echo "_ERREUR_COMMANDE_"$ligne >> $FILLOG
exit
fi
done
#
echo " --FIN SCRIPT--" >> $FILLOG |
Il permet de lire un fichier TXT qui contient des commandes Linux.
Ces commandes sont exécutés et le code de sortie est analysé; si supérieur à 0, alors le script s'arrête.
MAIS :
Les commandes contenues dans le fichier TXT qui contiennent un espace ne fonctionnent pas.
Et j'ai un code de sortie égal à 107.
J'ai essayé de positionner des caratères, sur $ligne : " ' [ ... sans succès ...
Pouvez-vous m'aider ?
Cdlt,