kyopages/scripts/sdeb

149 lines
3.9 KiB
Plaintext
Raw Normal View History

2017-08-27 15:35:08 +02:00
#!/bin/bash
2017-10-16 07:07:41 +02:00
version=1.0.0
date=16/10/2017
2017-10-12 09:30:38 +02:00
f__color(){ # 08/10/2017
YELLOW=$(tput setaf 3) # question
GREEN=$(tput setaf 2) # ok
BLUE=$(tput setaf 4) # info
RED=$(tput setaf 1) # alerte
STD=$(tput sgr0) # retour normal
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
BOLD=$(tput bold)
ITAL=$(tput sitm)
SOUL=$(tput smul)
}
# $1=oui|non&[-tx] réponse par défaut & -tx=timeout, $2=message question, return 0 pour oui, 1 pour non
f__dialog_oui_non(){ # 08/10/2017
local reply param
[[ "$1" =~ -t[0-9]{1,2} ]] && param="$(sed -En 's/.*(-t[0-9]{1,2}).*/\1/p' <<< $1)"
printf "$BLUE$2$STD"
[[ "$1" =~ oui ]] && printf " [O/n] " || printf " [o/N] "
if [ "$param" ]; then
read -t2 reply
else
read reply
fi
if [ -z "$reply" ]; then
[[ "$1" =~ oui ]] && reply="oui" || reply="non"
fi
echo
if [[ ${reply,,} =~ ^ou?i?$ ]]; then return 0; else return 1; fi
}
# $1=cmd si $2: nb de tentatives pour s'identifier, sinon 1 tentative par défaut
f__sudo(){ # 11/10/2017
local nb=1 sudo isudo
# sudo --shell bash équivalent su ?
if sudo -v &>/dev/null && [ $EUID -ne 0 ] ; then
sudo="sudo su --shell $(which bash) --preserve-environment -c "
else
sudo="su --shell $(which bash) --preserve-environment -c "
fi
[ "$2" ] && nb="$2"
for (( isudo=1 ; isudo<="$nb" ; isudo++ )); do
$sudo " $1"
2017-09-24 07:31:03 +02:00
[ "$?" == 0 ] && break
2017-10-12 09:30:38 +02:00
[ "$isudo" == "$nb" ] && return 1
2017-09-24 07:31:03 +02:00
done
}
2017-08-27 15:35:08 +02:00
2017-10-12 09:30:38 +02:00
# [ $1=timeout en s (O pour désactiver timeout) [$2=message] ]
2017-09-24 11:51:42 +02:00
f__pause(){ # 24/09/2017
local message="Appuyer sur une touche pour continuer"
[ "$2" ] && message="$2"
if [ "$1" ] && [ -z "$2" ]; then message+=" ou attendre $1""s"; fi
printf "$message"
if [ "$1" ]; then
2017-10-12 09:30:38 +02:00
read -n1 -t"$1" -s
2017-09-24 11:51:42 +02:00
else
2017-10-12 09:30:38 +02:00
read -n1 -s
2017-09-24 11:51:42 +02:00
fi
2017-09-24 10:15:32 +02:00
echo
}
2017-09-24 11:51:42 +02:00
2017-10-16 07:07:41 +02:00
help(){ # 16/10/2017
echo "$BOLD"
echo " téléchargement et installation scripts sdeb"
echo "$STD $version"
echo
echo " $0 all | script get..."
echo
echo " si all : traitements de tous les scripts"
echo " si option incorrecte: affichage de cette aide"
echo
exit 1
}
2017-08-27 15:35:08 +02:00
2017-10-16 07:07:41 +02:00
start(){ # 16/10/2017
f__color
if [ "$(which figlet)" ]; then
echo -e "$BOLD"
figlet -w120 " script sdeb" | tr '`' "'"
echo -e "$STD"
else
echo -e "$BOLD\nscripts sdeb"
echo -e "=============\n$STD"
fi
if [ $EUID -ne 0 ]; then
echo "vous devez être ROOT pour installer les scripts dans le système"
f__sudo "exec ./sdeb"
exit 0
fi
}
2017-08-27 15:35:08 +02:00
2017-10-16 07:07:41 +02:00
download(){ # 16/10/2017
local url
[ "$1" == "getInfo" ] && url="https://framagit.org/kyodev/kyopages/raw/master/scripts/getInfo"
[ "$1" == "getIp" ] && url="https://framagit.org/kyodev/kyopages/raw/master/scripts/getIp"
[ "$1" == "getFirefox" ] && url="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox"
[ "$1" == "getFlashPlayer" ] && url="https://framagit.org/kyodev/kyopages/raw/master/scripts/getFlashPlayer"
[ "$1" == "getThunderbird" ] && url="https://framagit.org/kyodev/kyopages/raw/master/scripts/getThunderbird"
wget -O "$1" "$url"
chmod +x "$1"
}
2017-08-27 15:35:08 +02:00
2017-10-16 07:07:41 +02:00
install(){ # 16/10/2017
[ -e "$1" ] && "./essai$1 -i"
f__pause 10
}
2017-10-12 09:30:38 +02:00
2017-10-16 07:07:41 +02:00
#------ départ script ----------------------------------------------------------
start
# traitement options
[[ "$1" =~ ^get || "$1" == "all" ]] || help # si appel incorrect, help
liste="getInfo getIp getFirefox getFlashPlayer getThunderbird"
echo -e "$BOLD\n chargement des scripts$STD\n"
if f__dialog_oui_non "oui" "charger les scripts?"; then
if [ "$1" == "all" ];then
for ifile in $liste; do
download "$ifile"
done
else
download "$1"
fi
2017-10-12 09:30:38 +02:00
fi
2017-08-27 15:35:08 +02:00
2017-10-16 07:07:41 +02:00
echo -e "$BOLD\ninstallation des scripts$STD\n"
2017-10-12 09:30:38 +02:00
if f__dialog_oui_non "oui" "installer les scripts?" ; then
2017-10-16 07:07:41 +02:00
if [ "$1" == "all" ];then
for ifile in $liste; do
[ -e "$ifileS" ] && install "$ifile" || echo "$ifile absent"
done
else
[ -e "$ifile" ] && install "$1" || echo "$1 absent"
fi
2017-10-12 09:30:38 +02:00
fi
2017-10-16 07:07:41 +02:00
echo
2017-09-24 07:31:03 +02:00
exit 0
2017-10-12 09:30:38 +02:00
wget -O sdeb https://frama.link/sdeb
2017-09-24 07:31:03 +02:00
chmod +x sdeb && ./sdeb
2017-10-12 09:30:38 +02:00
wget -O sdeb https://framagit.org/kyodev/kyopages/raw/master/scripts/sdeb