sdeb 2.2.0

This commit is contained in:
kyodev 2018-03-05 04:34:37 +01:00
parent d9c441828b
commit 05b24c912f
1 changed files with 29 additions and 23 deletions

View File

@ -1,28 +1,27 @@
#!/bin/bash
version=2.1.0
date=03/03/2018
version=2.2.0
date=05/03/2018
##### license LPRAB/WTFPL
# auteur: simpledeb
# contributeurs: kyodev
#####
f__color(){ # 03/03/2018
f__color(){ # 01/03/2018
if type -p tput &>/dev/null && tput setaf 1 &>/dev/null; then
BLACK=$(tput setaf 0)
RED=$(tput setaf 1) # alerte
GREEN=$(tput setaf 2) # ok
YELLOW=$(tput setaf 3) # question
BLUE=$(tput setaf 4) # info
CYAN=$(tput setaf 6)
MAGENTA=$(tput setaf 5)
STD=$(tput sgr0) # retour normal
STD=$(tput sgr0)$BLUE
BOLD=$(tput bold)
ITAL=$(tput sitm)
SOUL=$(tput smul)
BLACK=$( tput setaf 0 )
RED=$( tput setaf 1 ) # alerte
GREEN=$( tput setaf 2 ) # ok
YELLOW=$( tput setaf 3 ) # question
BLUE=$( tput setaf 4 ) # info
CYAN=$( tput setaf 6 )
MAGENTA=$( tput setaf 5 )
STD=$( tput sgr0 ) # retour "normal"
BOLD=$( tput bold )
ITAL=$( tput sitm )
SOUL=$( tput smul )
else
YELLOW=$( echo -n "\033[0;33m" ) # ?
GREEN=$( echo -n "\033[0;32m" ) # ok
@ -118,10 +117,12 @@ f__requis(){ # 26/01/2018
[ "$commandsMissing" ] && return 1 || return 0
}
# $@=cmd à lancer en root avec su ou sudo. si $@ contient :x: x=nombre de tentatives, sinon 2 tentatives par défaut
# $@=cmd à lancer en root avec su ou sudo. si $@ contient [':x:'] x=nombre de tentatives, 3 par défaut
# si sudo si possible sera utilisé.
# si su &2 redirigé sur &1
# si bash inexistant, return 2
f__sudo(){ # 26/01/2018
local nb sudo isudo toBash options nbDefault=2
f__sudo(){ # 24/02/2018
local nb sudo isudo toBash options nbDefault=3
# détermination sudo possible
type -p bash &>/dev/null && toBash=$( type -p bash ) || return 2
@ -143,11 +144,16 @@ f__sudo(){ # 26/01/2018
options="$@"
fi
# lancement cmds
for (( isudo=1 ; isudo<="$nb" ; isudo++ )); do
$sudo " $options"
[ "$?" == 0 ] && break
[ "$isudo" == "$nb" ] && return 1
done
if [[ "$sudo" =~ ^sudo ]]; then
$sudo "$options"
else
for (( isudo=1 ; isudo<="$nb" ; isudo++ )); do
echo -n "[su] Root, "
$sudo "$options" 2>&1 # redirection demande pass (et erreur) sur &1 (utile quand &2 est redirigé en amont)
[ "$?" == 0 ] && break
[ "$isudo" == "$nb" ] && return 1
done
fi
}
# [ $1=timeout en s (O pour désactiver timeout) [$2=message] ]