diff --git a/scripts/getIp b/scripts/getIp index 31402f5..a0ab77f 100755 --- a/scripts/getIp +++ b/scripts/getIp @@ -1,7 +1,7 @@ #!/bin/bash -version=1.3.0 -date="28/08/2017" +version=1.4.0 +date="30/08/2017" projet="simpledeb" contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/" script="getIp" @@ -150,7 +150,7 @@ f__wget_test(){ #v28/08/2017 exit 0 } -fgi_help(){ +f_help(){ f__info "$GREEN$script $version$BLUE" cat << 'EOF' ---------------------------------------------------------------------- @@ -327,13 +327,16 @@ fscript_get_version(){ # v27/08/2017 } # installation du script dans le système -fscript_install(){ # v27/08/2017 - [ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel - if dirname "$0" | grep -q 'bin' ; then - f__info "$RED""$script $version est déjà installé" +fscript_install(){ # v29/08/2017 + if grep -q 'bin' <<< "$(dirname $0)" ; then + f__info "$RED""l'installation dans le système doit se faire depuis un script local $GREEN(./$script -i )$COLOR" return 1 fi - [ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système" + if [ $EUID -ne 0 ]; then + f__info "$RED""vous devez être ROOT pour installer ce script dans le système$COLOR" + return 3 + fi + [ "$(type -t fscript_install_special)" ] && fscript_install_special # test, si fonction spécifique, appel f__requis "wget anacron cron" # install /opt mkdir -p /opt/bin/ @@ -351,8 +354,19 @@ fscript_install(){ # v27/08/2017 } # suppression du script dans le système -fscript_remove(){ # v27/08/2017 - [ $EUID -eq 0 ] || f__error "vous devez être ROOT pour supprimer ce script dans le système" +fscript_remove(){ # v29/08/2017 + if ! grep -q 'bin' <<< "$(dirname $0)" ; then + f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -r)$COLOR" + return 1 + fi + if [ ! -x "/opt/bin/$script" ];then + f__info "$RED$script n'est pas installé$COLOR" + return 2 + fi + if [ $EUID -ne 0 ]; then + f__info "$RED""vous devez être ROOT pour supprimer ce script dans le système$COLOR" + return 3 + fi # suppression de /opt rm /opt/bin/"$script" &>/dev/null unlink /usr/bin/"$script" &>/dev/null @@ -362,10 +376,14 @@ fscript_remove(){ # v27/08/2017 } # mise à jour script si dispo -fscript_update(){ # v26/08/2017 +fscript_update(){ # v29/08/2017 + if ! grep -q 'bin' <<< "$(dirname $0)" ; then + f__info "$RED""cette fonction doit être appelée depuis le script installé dans le système $GREEN($script -u)$COLOR" + return 1 + fi fscript_get_version if [ "$script_aJour" == "ok" ]; then - f__info "log" "pas de mise à jour disponible pour $script" + f__info "log" "pas de mise à jour disponible pour $script $version" return 0 fi local dirTemp="/tmp/$script-$RANDOM/" @@ -412,22 +430,22 @@ for i in "$options"; do ;; # affiche ip locales -i | --install ) testuser - fscript_install + fscript_install || f_help ;; # installation du script dans le système -r | --remove ) testuser - fscript_remove + fscript_remove || f_help ;; # suppression du script dans le système -u | --upgrade ) testuser opType="upgrade" - fscript_update + fscript_update || f_help exit ;; # upgrade script si maj possible -v | --version ) fscript_get_version ;; # version du script, en ligne et exécuté -h | --help | * ) - fgi_help + f_help ;; # affichage help esac done diff --git a/scripts/getIp_changelog.md b/scripts/getIp_changelog.md index 67a7b25..d2f28ed 100644 --- a/scripts/getIp_changelog.md +++ b/scripts/getIp_changelog.md @@ -1,6 +1,13 @@ # changelog getIp + +## 1.4.0 30/08/2017 + +* révision conditions d'utilisations, fscript_install, fscript_remove(), fscript_update +* révision appel, fscript_install, fscript_remove(), fscript_update +* renommage f_help + ## 1.3.0 28/08/2017 * fix bug: localisation fileDev