reworked on error code, create associated doc, module list checks
This commit is contained in:
111
init.sh
111
init.sh
@@ -45,7 +45,7 @@ function_exists() {
|
||||
function_exists prnt || (
|
||||
echo "*** ERREUR FATALE !"
|
||||
echo "*** Il manque des fonctions vitales venant des bibliothèques."
|
||||
exit 2
|
||||
exit 3
|
||||
)
|
||||
|
||||
# ======================
|
||||
@@ -62,51 +62,51 @@ export RESUME=false
|
||||
want_module=false
|
||||
for opt in $@; do
|
||||
if [[ $want_module == false ]]; then
|
||||
case $opt in
|
||||
"-h"|"--help")
|
||||
disp_help
|
||||
exit 0
|
||||
;;
|
||||
"-v"|"--version")
|
||||
show_version
|
||||
exit 0
|
||||
;;
|
||||
"-m"|"--module")
|
||||
want_module=true
|
||||
;;
|
||||
"-c"|"--check-only")
|
||||
export CHECK_ONLY=true
|
||||
;;
|
||||
"-j"|"--jump")
|
||||
export JUMP=true
|
||||
;;
|
||||
"-k"|"--keep-going")
|
||||
export KEEPGOING=true
|
||||
;;
|
||||
"-r"|"--resume")
|
||||
if [[ -s $MYPATH/stage ]]; then
|
||||
export RESUME=true
|
||||
else
|
||||
prnt E "Le fichier d'état n'existe pas ou est vide !"
|
||||
prnt E "Sans ce fichier, la reprise n'est pas possible."
|
||||
die 1 --force
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
prnt E "Paramètre \'$opt\' non géré."
|
||||
disp_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
case $opt in
|
||||
"-h"|"--help")
|
||||
disp_help
|
||||
exit 0
|
||||
;;
|
||||
"-v"|"--version")
|
||||
show_version
|
||||
exit 0
|
||||
;;
|
||||
"-m"|"--module")
|
||||
want_module=true
|
||||
;;
|
||||
"-c"|"--check-only")
|
||||
export CHECK_ONLY=true
|
||||
;;
|
||||
"-j"|"--jump")
|
||||
export JUMP=true
|
||||
;;
|
||||
"-k"|"--keep-going")
|
||||
export KEEPGOING=true
|
||||
;;
|
||||
"-r"|"--resume")
|
||||
if [[ -s $MYPATH/stage ]]; then
|
||||
export RESUME=true
|
||||
else
|
||||
prnt E "Le fichier d'état n'existe pas ou est vide !"
|
||||
prnt E "Sans ce fichier, la reprise n'est pas possible."
|
||||
die 1 --force
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
prnt E "Paramètre \'$opt\' non géré."
|
||||
disp_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
if [[ ! $MANUAL_MODULE_LIST ]]; then
|
||||
MANUAL_MODULE_LIST=$opt
|
||||
want_module=false
|
||||
else
|
||||
prnt E "Une liste de module à déjà été fournie !"
|
||||
prnt E "La ligne de commande ne tolère qu'un paramètre --module."
|
||||
die 1 --force
|
||||
fi
|
||||
if [[ ! $MANUAL_MODULE_LIST ]]; then
|
||||
MANUAL_MODULE_LIST=$opt
|
||||
want_module=false
|
||||
else
|
||||
prnt E "Une liste de module à déjà été fournie !"
|
||||
prnt E "La ligne de commande ne tolère qu'un paramètre --module."
|
||||
die 1 --force
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -114,7 +114,7 @@ done
|
||||
# (--help and --version are allowed as unprivileged user)
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
prnt E "Ce script doit être démarré en tant que root. Arrêt."
|
||||
die 1 --force
|
||||
die 4 --force
|
||||
fi
|
||||
|
||||
# Logfile variable treatment
|
||||
@@ -163,12 +163,12 @@ if [[ $CHECK_ONLY == true ]]; then
|
||||
fi
|
||||
if [[ $RESUME == true ]]; then
|
||||
[[ $CHECK_ONLY == true ]] && (
|
||||
prnt E "La reprise n'a pas de sens avec --check-only."
|
||||
die 1 --force
|
||||
prnt E "La reprise n'a pas de sens avec --check-only."
|
||||
die 1 --force
|
||||
)
|
||||
[[ $MANUAL_MODULE_LIST ]] && (
|
||||
prnt E "Le mode reprise ne fonctionne pas avec une liste de modules passé manuellement."
|
||||
die 1 --force
|
||||
prnt E "Le mode reprise ne fonctionne pas avec une liste de modules passé manuellement."
|
||||
die 1 --force
|
||||
)
|
||||
fi
|
||||
|
||||
@@ -178,6 +178,17 @@ if [[ $MANUAL_MODULE_LIST ]]; then
|
||||
export MODULE_LIST=$(echo $MANUAL_MODULE_LIST | sed "s/,/ /g")
|
||||
fi
|
||||
|
||||
# Check for module list existance en basic syntax
|
||||
if [[ -n $MODULE_LIST ]]; then
|
||||
if [[ $(echo $MODULE_LIST | grep '-') ]]; then
|
||||
prnt E "Le tiret est interdit dans les noms de module."
|
||||
die 5
|
||||
fi
|
||||
else
|
||||
prnt E "Aucun module à exécuter !"
|
||||
die 5
|
||||
fi
|
||||
|
||||
# Run prechecks
|
||||
[[ JUMP != true ]] && for mod in $MODULE_LIST; do
|
||||
. modules/$mod.sh
|
||||
|
||||
Reference in New Issue
Block a user