Erreur dans un script shell
Bonjour,
Je ne vois pas ou est l'erreur :
Ci-dessous le message d'erreur :
Citation:
./deploiement_file.ksh: ligne 15: erreur de syntaxe à la ligne 86: `"' inégalé
le bout de code de la ligne 83 à 89 :
Code:
1 2 3 4 5 6 7 8 9 10
| RET=$?
if test $RET -ne 0 ;
then
echo "Erreur copie de ${REP_TEST} vers ${REP_DOWNLOAD} = KO"
fi |
ci-dessus le script complet :
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| **********************************************************
#! /usr/bin/ksh
set -x
SELF=$(basename ${0})
GREP=/usr/xpg4/bin/grep
rep_travail="/home/stage1"
ALL_REP_TEST="/home/stage1/rep1 /home/stage1/rep3"
LISTE_REP_TEST=""
usage()
{ echo "Usage: ${SELF} all | rep1_TEST rep2_TEST repn_TEST"
echo "Donner la liste des reperoires parmis celle ci"
echo "${ALL_REP_TEST}"
echo "all pour indiquer toutes les repertoires"
}
echo "test"
while [ $# -ne 0 ]
do
PARAM="$(echo ${1}")
case "${PARAM}" in
"all") LISTE_REP_TEST=${ALL_REP_TEST}
;;
*) echo "${ALL_REP_TEST}" | ${GREP} -q "${PARAM}"
if [ $? -ne 0 ] ;
then
echo "La region \"${PARAM}\" n existe pas !!!" ;
usage
exit 1
else
ALL_REP_TEST="${LISTE_REP_TEST} ${PARAM}"
fi
;;
esac
shift
done
if [ ${LISTE_REP_TEST} = "" ]
then
usage
exit 2
fi
for REP_TEST in ${LISTE_REP_TEST}
do
case ${REP_TEST} in
/home/stage1/rep1 ) REP_DOWNLOAD=/home/stage1/rep2
cd ${REP_TEST}
liste1=$(ls | tee ${rep_travail}/liste_fic1)
for i in ${liste1}
do
if [[ -e ${REP_DOWNLOAD}/$i ]] &&
[[ $(ls -s "${REP_TEST}/$i" | cut -f1 -d' ') -ge $(ls -s "${REP_DOWNLOAD}/$i" | cut -f1 -d' ') ]]
then
echo "le fichier $i est present avec la meme de taille";
else
echo " fichier introuvable" ;
exit 5;
fi
done
RET=$?
if test $RET -ne 0
then
echo "Erreur copie de ${REP_TEST} vers ${REP_DOWNLOAD} = KO"
fi
;;
/home/stage1/rep3 ) REP_DOWNLOAD=/home/stage1/rep4
cd ${REP_TEST}
liste1=$(ls | tee ${rep_travail}/liste_fic1)
for i in ${liste1}
do
if [[ -e ${REP_DOWNLOAD}/$i ]] &&
[[ $(ls -s "${REP_TEST}/${i}" | cut -f1 -d' ') -ge $(ls -s "${REP_DOWNLOAD}/${i}" | cut -f1 -d' ') ]]
then
echo "le fichier $i est present avec la meme de taille"
else
echo " fichier introuvable" ;
exit 5;
fi
done
RET=$?
if test $RET -ne 0 ;
then
echo "Erreur copie de ${REP_TEST} vers ${REP_DOWNLOAD} = KO"
fi
;;
esac
done |
******************************************************