header.inc.sh.
VERSION=210505
 clear
 echo $0, $1
 if [ "$0" = "./test-header.inc.bash" ] && [ "$1" = "--t" ] 
 then 
 echo "header.inc : Version "$VERSION
 sleep 2
 fi
 RepRef=~/Annexer
 RepCom=~/Annexer/bin
 RepConv=~/Annexer/datas
 echo "Test de présence du répertoire des commandes : "$RepCom
 if test -d $RepCom
 then
 echo " Le répertoire des commandes : "$RepCom" est présent !"
 else
 mkdir $RepCom
 echo " Le répertoire des commandes "$RepCom" a été créé !"
 fi 
 echo "Test de présence du répertoire des données : "$RepConv
 if test -d $RepConv
 then
 echo " Le répertoire des données : "$RepConv" est présent !"
 else
 mkdir $RepConv
 echo " Le répertoire des données "$RepConv" a été créé !"
 fi
 Conversions=~/Annexer/datas/données_de_conversions
 if [ "$0" = "./test-header.inc.bash" ] && [ "$1" = "--t" ]
 then
 if test -a $Conversions
 then echo " Le fichier données_de_conversion est présent il ne sera pas actualisé."
 else 
 echo "s/%E2%80%99/&amp;#8217;/g;s/%E2%82%AC/&amp;#8364;/g;s/%2F///g;s/%3F/?/g;" > $Conversions
 echo "s/%24/$/g;s/%21/!/g;s/%25/%/g;s/%2B/+/g;s/%3C/\&amp;lt;/g;s/%3E/&amp;gt;/g;" » $Conversions
 echo "s/%5C/\/g;s/%B0/°/g" » $Conversions
 echo "s/%E0/à/g;s/%E2/â/g" » $Conversions
 echo "s/%E8/è/g;s/%E9/é/g;s/%EA/ê/g;s/%EB/ë/g" » $Conversions
 echo "s/%EE/î/g;s/%EF/ï/g" » $Conversions
 echo "s/%F4/ô/g" » $Conversions
 echo "s/%F9/ù/g;s/%FB/û/g" » $Conversions
 echo 's/%2C/,/g;s/%21/!/g;s/%3F/?/g;s/%40/@/g;s/%23/#/g;s/%24/$/g' » $Conversions
 echo "s/%25/%/g;" » $Conversions
 echo "s/%26/&amp;#x26;/g;" » $Conversions
 echo "s/%28/(/g;s/%29/)/g;" » $Conversions
 echo "s/%2B/+/g;" » $Conversions
 echo "s/%3A/:/g;" » $Conversions
 echo "s/%3D/=/g;" » $Conversions
 echo "s/%5B/[/g;" » $Conversions
 echo "s/%5D/]/g" » $Conversions
 echo "s/%3B/;/g;s/%2F///g;s/%27//g" » $Conversions
 echo 's/%22/"/g' » $Conversions
 echo "s/%C3%A7/ç/g;s/%E7/ç/g" » $Conversions
 echo "s/+/ /g;s/%7E/~/g;s/\/&amp;#92;/g" » $Conversions
 echo "s/%0D/&amp;#x0D;/g;s/%0A/&amp;#x0A;/g" » $Conversions
 echo "s/%C3%A0/à/g;s/%C3%A2/â/g" » $Conversions
 echo "s/%C3%A9/é/g;s/%C3%A8/è/g;s/%C3%AA/ê/g" » $Conversions
 echo "s/%C3%AE/î/g;s/%C3%AF/ï/g" » $Conversions
 echo "s/%C3%B4/ô/g" » $Conversions
 echo "s/%C3%B9/ù/g;s/%C3%BB/û/g" » $Conversions
 echo "s/%C2%B7/-/g;s/%C2%AB/«/g;s/%C2%BB/»/g" » $Conversions
 echo " Le fichier '$Conversions' est créé."
 fi
 fi
 function header_syntax
 echo "Syntaxe de la commande header.inc en mode tests: header.inc [ --t | <livre>" ]
 echo -e "\033[1m-> ATTENTION\033[0m : Le nom du livre ne doit pas contenir le caractère 'espace'"
 echo "Exemples : 'test-header.inc.bash Faire_fleurir_le_sel' ou"
 echo " 'test-header.inc.bash ?' ou"
 echo " 'test-header.inc.bash --t' "
 echo " Le premier paramètre est transmis à la commande header.inc"
 #w seulement avec la commande 'Annexer'
 #w echo "ou header.inc <livre> [-v] [-pb||-pc]"
 #w echo "options -v:mode bavard, -pb ou -pc:versions personnalisées Wikibooks ou Commons."
 echo
 if test -z "$1"
 then
 echo "-----"
 echo "Erreur, pas de paramètre en entrée"
 header_syntax
 exit 1;
 fi
 if test $1; then
 if [ $1 = '?' ]
 then
 header_syntax
 exit 0 
 fi
 fi
 if [ "$1" != "--t" ]
 then 
 echo "Projet : création de la page '$1.annexe' du livre : $1"
 Projet=$RepRef/$1
 echo "Répertoitre de projet : "$Projet
 echo "----------"
 else 
 echo -e "\033[33m Le projet n'est pas défini veuillez entrer un paramètre valide. \033[0m"
 exit 0
 fi
read -p "Si tout est correct : retour-chariot une pour continuer, Ctrl-C pour quitter >"
 if test -d $Projet
 then
 echo "Le répertoire de projet : "$Projet" est correct !"
 else
 mkdir $Projet
 echo "Le répertoire de projet "$Projet" a été créé !"
 fi
 Site="fr.wikibooks.org"
 SitePrefix="https://fr.wikibooks.org/wiki/"
 echo "----------"
 echo "Nom du projet: "$1
 echo "Site: "$Site
 echo "Préfixe du site: $SitePrefix pour la commande shell sed."
 echo "----------"
 echo "Liste des liens vers les articles à analyser:"
 echo "fichier : "$Projet/$1".list si il existe."
 if test -a $Projet/$1.list
 then
 echo "le fichier : "$Projet/$1".list existe."
 else
 echo -e "\033[31mle fichier : "$Projet/$1".list n'a pas encore été créé.\033[0m"
 fi
 echo "----------"
 echo "Liste des pages et articles à analyser:"
 echo "fichier : "$Projet/$1".prj si il existe."
 if test -a $Projet/$1.prj;
 then
 echo "le fichier : "$Projet/$1".prj existe."
 else
 echo -e "\033[31mle fichier : "$Projet/$1".prj n'a pas encore été créé.\033[0m"
 fi
 echo "----------"
 echo "Contenu du répertoire de travail du projet:"
 ls -al $Projet
 echo "----------"
ctrl-header.inc.bash.
Ce code est à transcrire dans le répertoire ~/Annexer/tests/header.inc.sh et doit être rendu exécutable (chmod 755 ctrl-header.inc.bash)
VERSION=210505
 echo -e "\033[1;33m Control header.inc.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" header.inc.sh » text-control.txt
 more text-control.txt
 echo; echo "Continue ? y/n"
 read -s -e -n 1 -t 60 -p "y/n ? : " Inkey;echo
 if [ "$Inkey" != 'y' ]; then echo " Inkey is not yes, or time out after 60 sec, exit from $0"; exit 0;fi
 ls -l header.*
 echo -e "\033[1;33m Is the .sh file newer than the file without an extension ? \033[0m"
 echo -e "\033[1;33m Le fichier .sh est-il plus récent que le fichier sans extension ? \033[0m"
 read -s -e -n 1 -t 60 -p "y/n ? : " Inkey;echo
 if [ "$Inkey" != 'y' ]; then echo " Inkey is not yes, or time out after 60 sec, exit from $0"; exit 0;fi
 cat header.inc.sh | grep -v "#O\|#P\|#T" > header.inc
 echo " Test sans paramètre"
 ./test-header.inc.bash
 sleep 5
 echo " Test avec paramètre '?'"
 ./test-header.inc.bash ?
 sleep 5
 echo " Test avec paramètre '--t'"
 ./test-header.inc.bash --t
 sleep 5
 echo " Test avec paramètre 'LivreTest'"
 ./test-header.inc.bash LivreTest
 sleep 5
test-header.inc.bash.
Ce code est à transcrire dans le répertoire ~/Annexer/tests/header.inc.sh et doit être rendu exécutable
VERSION=210505
 echo "Premier paramètre : $1"
 if test -z $1
 then 
 echo " Syntaxe : ./test-header.inc.bash [ ? | --t | <livre> ]"
 exit -1
 fi
 source header.inc
 echo "retour : $?"

Auto-éditer un wikilivre/Auto-référencer/annexer.sh