getInfo 2.14.5

This commit is contained in:
kyodev 2017-10-24 21:35:26 +02:00
parent 2226c7dbd4
commit 98e7284197
2 changed files with 58 additions and 31 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=2.14.2
date="23/10/2017"
version=2.14.5
date="24/10/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo"
@ -1093,7 +1093,7 @@ figet_batt(){ #v2 23/10/2017
}
# assigne $fget_cpu (3 lignes description cpu)
figet_cpu(){ #v2 22/10/2017
figet_cpu(){ #v2 23/10/2017
local cpuinfo speedNom speedMax speedMin speedCpu cpu1 cpu2 cpu3
cpuinfo="$(cat /proc/cpuinfo)"
# speed
@ -1114,7 +1114,7 @@ figet_cpu(){ #v2 22/10/2017
/cpu cores/ { procCore=sprintf("%d",$2); if (procCore>1) pllc="s" }
/siblings/ { procThread=sprintf("%d",$2); if (procThread>1) pllt="s" }
/microcode/ { sub(/^ /,"",$2); microCode=$2 }
END { print nbCpu" x "cpu " (" procCore "core" pllc "," procThread "thread" pllt ") {" speedCpu "} microcode:" microCode }
END { print nbCpu" x "cpu " (" procCore "core" pllc ", " procThread "thread" pllt ") {" speedCpu "} microcode:" microCode }
' <<< "$cpuinfo "
)
cpu2=$(
@ -1236,6 +1236,7 @@ figet_disk(){ #v2 19/10/2017
[ "$fget_disk_nvme" ] || fget_disk_nvme="-" && fget_disk_nvme="$(tr ' ' '\n' <<< "$fget_disk_nvme" | sort | tr '\n' ' ')"
}
#assigne fget_distro
figet_distro(){ # thanks neofetch, assigne $fget_distro # 09/10/2017
local distro file
if type -p lsb_release >/dev/null; then distro="$(lsb_release -sd)";
@ -1256,13 +1257,16 @@ figet_distro(){ # thanks neofetch, assigne $fget_distro # 09/10/2017
fget_distro="$distro"
}
# informations DMI, assigne $fget_dmi
figet_dmi(){ # 22/10/2017
figet_dmi(){ # 23/10/2017
# lors révision tester $(grep -s . /sys/class/dmi/id/*)
# ex: /sys/class/dmi/id/bios_vendor:American Megatrends Inc.
local product board bios tempo idmi indic1 indic2
unset indic1 indic2
for idmi in sys_vendor product_name product_version chassis_type; do
tempo=$(cat /sys/class/dmi/id/$idmi 2>/dev/null)
tempo=$(sed 's/x.xx*//' <<< $tempo | xargs)
tempo=$(sed 's/x.xx*//; s/To be filled by O\.E\.M\.//g' <<< $tempo | xargs)
if [ "$idmi" == "chassis_type" ]; then
[ "$tempo" == "10" ] && tempo="(Notebook)" || tempo="($tempo)"
fi
@ -1271,18 +1275,15 @@ figet_dmi(){ # 22/10/2017
done
for idmi in board_vendor board_name board_version; do
tempo=$(cat /sys/class/dmi/id/$idmi 2>/dev/null)
tempo=$(sed 's/x.xx*//' <<< $tempo | xargs)
tempo=$(sed 's/x.xx*//; s/To be filled by O\.E\.M\.//g' <<< $tempo | xargs)
[[ "$idmi" == "board_vendor" || "$idmi" == "board_name" ]] && indic2+="$tempo "
board+="$tempo "
done
for idmi in bios_vendor bios_version bios_date; do
tempo=$(cat /sys/class/dmi/id/$idmi 2>/dev/null)
tempo=$(sed 's/x.xx*//' <<< $tempo | xargs)
tempo=$(sed 's/x.xx*//; s/To be filled by O\.E\.M\.//g' <<< $tempo | xargs)
bios+="$tempo "
done
product=$(sed 's/To be filled by O\.E\.M\.//g' <<< $product)
board=$(sed 's/To be filled by O\.E\.M\.//g' <<< $board)
bios=$(sed 's/To be filled by O\.E\.M\.//g' <<< $bios)
fget_dmi=$(printf '%7s: %s' "produit" "$product")$' \n'
[ "$indic1" != "$indic2" ] && fget_dmi+=$(printf '%7s: %s' "board" "$board")$' \n'
fget_dmi+=$(printf '%7s: %s' "bios" "$bios")
@ -1955,31 +1956,49 @@ function display_menu {
reply="$(sed 's/-call/all/' <<< $reply)"
exec $0 "$reply"
}
prg_alert_crit(){ # 11/10/2017
prg_alert_init(){ # 23/10/2017
bashVersion=($(grep -o 'version 4' <<< $(bash --version)))
[ ${bashVersion[1]} -ge 4 ] || f__error "bash v4 requis" \
"version installée: $(sed -n '1p' <<< $(bash --version))"
[ -f /proc/cpuinfo ] || f__error "/proc/cpuinfo non trouvé" "/proc ne doit pas être monté"
# test OS
OS=$(uname -s)
[[ ${OS,,} =~ linux || ${OS,,} =~ gnu ]] && OS="linux"
[[ ${OS,,} =~ bsd || ${OS,,} =~ Bitrig || ${OS,,} =~ DragonFly ]] && OS="bsd"
[[ ${OS,,} =~ cygwin || ${OS,,} =~ msys || ${OS,,} =~ mingw ]] && OS="windows"
[ "$OS" == "bsd" ] && f__info "ce script pour Linux n'est pas prévu de fonctionner sur BSD..."
[ "$OS" == "windows" ] && f__info "ce script pour Linux n'est pas prévu de fonctionner sous windows..."
[ "$OS" != "linux" ] && f__error "Linux requis"
# détermination user derrière root
f__user
retourFUser="$?"
[ "$retourFUser" -eq 1 ] && f__error "user indéterminé" \
"pour contourner, lancer le script avec:\n$GREEN USER_INSTALL=<user> $0 \n"
if [ "$retourFUser" -eq 2 ]; then
[ "$EUID" -eq 0 ] && user_="root" || f__error "user détecté, mais pas de home: /home/$user_"
f__info "user root"
fi
}
# initialisation
######## début script / initialisation
PATH='/usr/sbin:/usr/bin:/sbin:/bin'; TERM=xterm ; IFS=$' \t\n'
export PATH TERM IFS
[[ "$SSH_CLIENT" || "$SSH_CLIENT" || "$SSH_CLIENT" ]] && ENV_SSH="ssh"
# logo et définition couleurs
f__affichage
f__user
retourFUser="$?"
[ "$retourFUser" -eq 1 ] && f__error "user indéterminé" \
"pour contourner, lancer le script avec:\n$GREEN USER_INSTALL=<user> $0 \n"
if [ "$retourFUser" -eq 2 ]; then
[ "$EUID" -eq 0 ] && user_="root" || f__error "user détecté, mais pas de home: /home/$user_"
f__info "user root"
fi
# quelques tests au démarrage
prg_alert_init
# requis pour fonctionnement programme
f__requis "gawk wget ip>iproute2 lspci>pciutils wc>coreutils"
[ "$(grep -o 'version 4' <<< $(bash --version) | sed 's/version //')" -ge "4" ] || f__error "bash version 4"
f__requis "gawk wget ip>iproute2 lspci>pciutils wc>coreutils" # requis pour fonctionnement programme
prg_alert_crit
options=$@
# traitement option
# traitement option paramètres
for j in $options; do
case $j in
--debug-paste )
@ -1990,16 +2009,18 @@ for j in $options; do
;; # durée de conservation standard du paste en jours
esac
done
unset j
options="$(sed -E 's/--debug-paste//g; s/-t[0-9]+//g' <<< $options | xargs)" # nettoyage options
[ "$options" == "" ] && options="all"
[ "$options" ] || options="all"
# quelques paramètres généraux
[ "$pasteDuration" ] || pasteDuration=7 # durée de conservation standard du paste en jours
fileOutput="getInfo_rapport.md"
fileLogs="/var/log/sdeb_$script.log"
fileDev="/opt/bin/fileDev"
urlScript="https://frama.link/getInfo"
urlNotice="https://frama.link/doc-getInfo"
# test sur frama.link ok, sinon fallback sur framagit
if [[ "$options" =~ all|-d|-h|-c ]]; then
if ! f__wget_test "$urlScript" "test"; then
urlScript="https://framagit.org/kyodev/kyopages/raw/master/scripts/$script"
@ -2008,11 +2029,11 @@ if [[ "$options" =~ all|-d|-h|-c ]]; then
fi
ligneRapport="Rapport du $(date '+%d/%m/%Y %H:%M %z') | $0 $* | [$script $version]($urlNotice)"
# traitement options menu catégories
for k in $options; do
categorie+="$(sed -En 's/-c([a-z]+)/\1/p' <<< $k)"
options="$(sed -E 's/-c[a-z]+//' <<< $k | xargs)"
done
unset k
[ "$categorie" ] && options+=" -c$categorie"
# actions
@ -2020,7 +2041,7 @@ for j in $options; do
case $j in
-t | --test )
prg_1 "$*"
fi_graph
fi_systeme
prg_3
exit ;; # test seulement
-c* | all )
@ -2105,7 +2126,7 @@ for j in $options; do
exit ;; # affichage help
esac
done
unset j
exit 0
wget -nv -O getInfo https://frama.link/getinfo

View File

@ -9,12 +9,18 @@
* refaire/revoir figet_resolution
* revoir modules réseau
* bug figet_wm wayland à confirmer?
* bug quand aucun retour hwmon si bug acpi sondes (fget_hw=${fget_hw::-1})
* plus d'explications dans état paquet (rc par exemple)??
---
* f__requis f__wget_test fscript_get_version fscript_update fscript_cronAnacron
* f__cmd_exist f__sudo f__requis
## 2.14.5 24/10/2017
*
## 2.14.2 23/10/2017
* nouveau: nb alims total/branchée
@ -24,7 +30,7 @@
## 2.14.0 22/10/2017
* nouveau: détection connexion shh
* nouveau: détection connexion ssh
* révision: figet_dmi, suppression To be filled by O.E.M.
* révision: fi_nm_wifis by-pass wifis à proximité si pas d'interfaces réseau active
* révision: figet_hw, filtrage ligne complète si valeur vide, fan ou température