added shell option

This commit is contained in:
levasseur
2021-09-20 16:42:52 +02:00
parent 2aa10ef23a
commit 9eb59b5bd4
3 changed files with 25 additions and 4 deletions

23
init.sh
View File

@@ -36,7 +36,7 @@ export LC_ALL=C
export LANG=C export LANG=C
# Version of init # Version of init
export VERSION="0.99.5" export VERSION="0.99.6"
# Store script's path # Store script's path
export MYPATH=$(dirname $0) export MYPATH=$(dirname $0)
@@ -120,9 +120,22 @@ if [[ $RESUME != true ]]; then
[[ -f $STAGE_FILE ]] && rm -f $STAGE_FILE [[ -f $STAGE_FILE ]] && rm -f $STAGE_FILE
fi fi
# Loading modules
for mod in $MODULE_LIST; do
. modules/$mod.sh
done
if [[ $RUN_SHELL == true ]]; then
OLD_PS1=$PS1
export PS1="(init.sh) $PS1"
bash
export PS1=$OLD_PS1
prnt I "Sortie du script après exécution du shell."
exit 0
fi
# Run prechecks # Run prechecks
[[ JUMP != true ]] && for mod in $MODULE_LIST; do [[ JUMP != true ]] && for mod in $MODULE_LIST; do
. modules/$mod.sh
version=VER_$mod version=VER_$mod
prnt I "Vérification initiale pour $mod version ${!version}..." prnt I "Vérification initiale pour $mod version ${!version}..."
precheck_$mod precheck_$mod
@@ -140,6 +153,7 @@ else
prnt I "Toutes les vérification ont été faites." prnt I "Toutes les vérification ont été faites."
fi fi
echo echo
if [[ $KEEPGOING == true ]]; then if [[ $KEEPGOING == true ]]; then
echo -e "${BRed}ATTENTION : Vous avez demandé la poursuite du script en cas d'erreur.${DEFAULTCOL}" echo -e "${BRed}ATTENTION : Vous avez demandé la poursuite du script en cas d'erreur.${DEFAULTCOL}"
echo -e "${BRed}ATTENTION : Cette option peut produires des résultats chaotiques.${DEFAULTCOL}" echo -e "${BRed}ATTENTION : Cette option peut produires des résultats chaotiques.${DEFAULTCOL}"
@@ -148,8 +162,10 @@ if [[ $KEEPGOING == true ]]; then
fi fi
echo -e "${BYellow}Si vous continuez après cette étape le système sera modifié !${DEFAULTCOL}" echo -e "${BYellow}Si vous continuez après cette étape le système sera modifié !${DEFAULTCOL}"
echo echo
while read -r -t 0.001; do :; done # Dump the buffer while read -r -t 0.001; do :; done # Dump the buffer
read -n 1 -rsp $"Appuyer sur la touche <C> pour continuer ou une autre pour s'arrêter...\n" key read -n 1 -rsp $"Appuyer sur la touche <C> pour continuer ou une autre pour s'arrêter..." key
echo
if [[ $key == "C" || $key == 'c' ]]; then if [[ $key == "C" || $key == 'c' ]]; then
# We launch modules one after one # We launch modules one after one
@@ -158,7 +174,6 @@ if [[ $key == "C" || $key == 'c' ]]; then
continue continue
fi fi
# We need this only if JUMP is set but doesn't matter if it's done again # We need this only if JUMP is set but doesn't matter if it's done again
. modules/$mod.sh
version=VER_$mod version=VER_$mod
prnt I "Application des modifications pour $mod version ${!version}..." prnt I "Application des modifications pour $mod version ${!version}..."
$mod $mod

View File

@@ -36,6 +36,9 @@ Options :
-P, --no-proxy Ne pas utiliser de proxy lors de l'utilisation de -P, --no-proxy Ne pas utiliser de proxy lors de l'utilisation de
ce script (n'empêche pas leur configuration via modules) ce script (n'empêche pas leur configuration via modules)
-h, --help Affiche ce texte d'aide. -h, --help Affiche ce texte d'aide.
-s, --shell Lance un shell avec tout l'environnement du script pour
débogage. Aucune action ou vérification n'est faite en
dehors des commandes lancées dans le shell.
-l, --logfile <nom> Nom du fichier de log. Peut aussi être changé -l, --logfile <nom> Nom du fichier de log. Peut aussi être changé
via la variable d'environnement LOGFILE. via la variable d'environnement LOGFILE.
-v, --version Affiche la version de ce script et celles de -v, --version Affiche la version de ce script et celles de

View File

@@ -68,6 +68,9 @@ read_commandline()
"-f"|"--file") "-f"|"--file")
local want_conffile=true local want_conffile=true
;; ;;
"-s"|"--shell")
export RUN_SHELL=true
;;
*) *)
if [[ $want_module == true ]]; then if [[ $want_module == true ]]; then
[[ $want_logfile == true ]] && synthax_error [[ $want_logfile == true ]] && synthax_error