Auto-éditer un wikilivre/Auto-référencer/cp-localsrc-2-localbin

#! /bin/bash
#H file : cp-localsrc-2-localbin.bash
#H Ce fichier doit être copié dans le répertoire sbin en mode exécutable.
#H copie les fichiers sources ~/Annexer/src dans le répertoire des exécutables
#H   ~/Annexer/bin, pour effectuer des tests unitaires avec des livres différents.
#H copie aussi les fichier du répertoitre ~/Annexer/lib/src dans ~/Annexer/lib
#H les codes sources doivent avoir été contrôlé dans les répertoires de tests
#H   avec les codes de contrôle ci-après.

clear

VERSION=210504

echo "cp-localsrc-2-localbin : Version "$VERSION

echo -e "\033[1;33m Les codes sources doivent avoir été contrôlés dans les répertoires de tests \033[0m"
echo -e "\033[1;33m par les programmeurs ou les mainteneurs. \033[0m"

echo "Copie des fichiers sources *.sh vers ~/Annexer/Bin/."
ls ~/Annexer/src/*.sh > bin_files.pj
while read line
do
  echo $line | sed s/.sh//g > new_bin_name.txt
  read New_bin_name < new_bin_name.txt
  cat $line |grep -v "#O\|#P\|#T" >  ~/Annexer/bin/$New_bin_name
done < bin_files.pj

echo "Changement du mode lecture pour le mode exécutable 'chmod 755'"
chmod 755 ~/Annexer/bin/*

rm bin_files.pj; new_bin_name.txt

echo "Copie des fichiers sources *.sh vers ~/Annexer/Bin/."
ls ~/Annexer/lib/src/*.sh > lib_files.pj
while read New_lib_name
do
  echo $line | sed s/.sh//g > new_lib_name.txt
  read New_lib_name < new_lib_name.txt
  cat $line |grep -v "#O\|#P\|#T" >  ~/Annexer/bin/$New_lib_name
done < lib_files.pj

rm lib_files.pj; new_lib_name.txt

# Code à placer dans le répertoire des tests exemple ~/Annexer/tests/annexer.sh/
#   test-annexer.bash
# Remplacer 'file.sh' par le nom du fichier de codes, exemple 'annexer.sh'
# Control if the local file.sh is clean
   echo -e "\033[1;33m Control file.sh in the local test directory \033[0m" > text-control.txt
   echo -e "\033[1;33m Please check that the comment line does not contain an command \033[0m" >> text-control.txt
   grep -n -e "#O\|#P\|#T" ecfpc.sh >> text-control.txt
   more text-control.txt
#T   echo -e "\033[31m ROUGE \033[0m"
#T   echo -e "\033[1;33m Please check that the comment line does not contain an command \033[0m"
   echo; echo "Continue ? y/n"
   read -s -e -n 1 -t 60 -p "y/n ? : " Inkey;echo
#T   echo "Inkey = $Inkey"
   if [ "$Inkey" != 'y' ]; then echo " Inkey is not yes, or time out after 60 sec, exit from $0"; exit 0;fi