Ce programme sert à comparer deux répertoires qui devraient contenir des fichiers .sh semblable.
Aucune action n’est faite directement par le programme, il vous indique juste une commande à exécuter afin de rétablir l’égalité entre les deux répertoires.
Exemple d’utilisation :
diff.sh /home/user/ksh /home/user/newksh
$ cat diff.sh
if [ -z « $1 » ]
then
echo « Manque le 1er param : le nom du 1er répertoire »
echo « Manque le 2em param : le nom du 2em répertoire »
exit 1
fi
if [ -z « $2 » ]
then
echo « Manque le 2er param : le nom du 2em répertoire »
exit 2
fi
cd $1
for NomFicComplet in $(find . -name « *.*sh »)
do
echo « ___________________________________________________________________________________ »
NomKSH=$( basename $NomFicComplet)
echo » diff $PWD/$NomKSH »
echo » $2/$NomKSH »
if [ ! -e « $NomKSH » ]
then
echo « le fichier $PWD/$NomKSH n existe pas »
echo « cp $2/$NomKSH $PWD/$NomKSH »
echo « valider pour continuer »; read
fi
if [ ! -e « $2/$NomKSH » ]
then
echo « le fichier $2/$NomKSH n existe pas »
echo « cp $PWD/$NomKSH $2/$NomKSH »
echo « valider pour continuer »; read
fi
if [ -e « $NomKSH » -a -e « $2/$NomKSH » ]
then
diff $PWD/$NomKSH $2/$NomKSH
CodeRetour=$?
if [ $CodeRetour != 0 ]
then
banner Difference
echo « valider pour editer les fichiers »; read reponse
if [ -z « $reponse » ]
then
vi $PWD/$NomKSH $2/$NomKSH
fi
echo « cp $PWD/$NomKSH $2/$NomKSH »
echo « valider pour continuer ($CodeRetour) »; read
fi
fi
echo « ___________________________________________________________________________________ »
done
exit