getInfo 2.66.0

This commit is contained in:
kyodev 2017-12-14 20:07:23 +01:00
parent 1a4aab8fb1
commit 2a80432489
2 changed files with 99 additions and 33 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=2.65.0
version=2.66.0
date="14/12/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -189,7 +189,7 @@ f__sudo(){ # 4/12/2017
done
}
# conversion human, source ko, $1=nombre à convertir, affiche ko ou Mo ou Go, ! dépendance gawk
# $1=nombre à convertir en ko, affiche ko ou Mo ou Go, ! dépendance gawk
f__unit_human(){ # 5/12/2017
echo -n "$( gawk ' {
if ( $1<1024 ) {unit="ko"; printf "%d%s", $1, unit; exit}
@ -253,7 +253,7 @@ f__wcv(){ # 09/11/2017
[ "$1" == "-wv" ] && echo "$2" | grep -o "$3" | grep -c .
}
# test wget, $1=url à tester, sortie du script (même si url testée ok) avec affichage erreur ou ok
# $1=url à tester, sortie du script (même si url testée ok) avec affichage erreur ou ok
# si $2=print affiche url testée & entêtes http & location, return 0
# si $2=loc affiche seulement location, return 0
# si $2=test return 0 si ok, return 1 si KO
@ -330,7 +330,7 @@ f_affichage(){ # 2/12/2017
echo -e "$BLUE$affichage_text\n$YELLOW version $version - $date$STD\n"
}
# $1 type de titre var|cmd|sans|+:text|+:vide, $2 variable à afficher [$3 titre] [$4 commentaire]
# $1=type de titre var|cmd|sans|+:text|+:vide, $2 variable à afficher [$3 titre] [$4 commentaire]
# $1: cmd->`titre`, var->**titre**, sans: pas de titre
# :text ajouté, affiche le text en liste (avec puce)
# :vide bypass le test de contenu $2, affiche 'vide', si besoin, en liste
@ -367,7 +367,7 @@ f_dspl(){ # 14/12/2017
echo -en "$display" >> "$fileOutput"
}
# $1 variable à afficher en alerte/info, [$2 alert|info] type de message, alert par défaut
# $1=variable à afficher en alerte/info, [$2 alert|info] type de message, alert par défaut
# un test si variable $1 est vide ou non est fait
f_dspl_alrt(){ # 14/12/2017
[ "$1" ] || return 0 # test si contenu dans $1
@ -384,6 +384,30 @@ f_dspl_alrt(){ # 14/12/2017
echo -en "$display" >> "$fileOutput" # flush fonction
}
# $1=texte à épurer
f_epure_marque(){ # 14/12/2017
local text="$1"
text=${text/System Controller Hub }
text=${text/Advanced Micro Devices, Inc. }
text=${text/Semiconductor Co., Ltd. }
text=${text//Corporation }
text=${text/Series Family /Series }
text=${text/Series Chipset Family /Series }
text=${text/High Definition /HD }
text=${text// Computer}
text=${text// COMPUTER}
text=${text// Limited}
text=${text//, Inc.}
text=${text// Inc.}
text=${text// INC.}
text=${text// Corp.}
text=${text// Co.}
text=${text// Ltd.}
text=${text// Adapter}
echo "$text"
}
# $1=liste fichier(s) à grepper, [$2]: N &| nofile &| novide &| ligneVide &| date &| commentXY &| sources
# si aucun fichier dans la liste retour: 'nofile|vide|inexistant'
# /!\ protéger les chemins avec " (surtout si plusieurs chemins ou joker)
@ -537,7 +561,7 @@ f_prnt(){ # 11/12/2017
fi
}
# conversion markdown pour affichage en console, $1 file à parser, [$2=marge] margin left 2 espaces
# $1=file à parser, [$2=marge] margin left 2 espaces
# tout en bash regex par défaut non-greedy (non gourmand) comme sed ou gawk
# contrainte markdown:
# l'italique avec _ ou * n'est pas géré, trop d'interférences potentielles
@ -775,6 +799,7 @@ fi_cpu(){ # 14/12/2017
[ "$ENV_DEBIAN" ] && alert_microcode+="\n les installer: **apt install $ucode**"
fi
[ "$(( ${fg_cpu:0:1} ))" -gt 1 ] && pluriel="s" || unset pluriel
unset CPU_FLAGS x_cpu_flags
###
f_prnt titre2 "processeur"$pluriel
f_dspl cmd "$fg_cpu" "lscpu" # affichage proc
@ -1403,6 +1428,8 @@ fi_net(){ # 14/12/2017 ( matériel )
x_net=1
# devices
fe_cards_reseau=$( figet_lspci "net" "name" ) # noms des cartes réseau détectées, mix ethernet/wifi
fe_cards_reseau=${fe_cards_reseau/Network controller/Network controller}
fe_cards_reseau=${fe_cards_reseau/Wireless Network/Wireless}
fe_nb_reseau=$(f__wcv -l "$fe_cards_reseau") # nombre de cartes réseau détectées, mix ethernet/wifi
[ "$1" == "silent" ] && return
[ "$fe_nb_reseau" -eq 0 ] && return 0 # pas de cartes réseau, rien à voir (en attendant usb ou autre)
@ -2305,16 +2332,65 @@ fi_touchpad(){ # 14/12/2017
f_dspl_alrt "$info_driver" "info"
}
fi_usb(){ # 1/12/2017
local lsusb lsusb_t text
fi_usb(){ # 14/12/2017
local lsusb size lsusb_t ls lst ils test result ls_p
x_usb=1
lsusb=$( lsusb )
lsusb_t=$( lsusb -t )
[ "$lsusb" ] || return 0
lsusb=$( sort <<< "$lsusb" )
lsusb=$( f_epure_marque "$lsusb" ) # cosmétique
# largeur initiale de lsusb
size=$(( $( gawk '{ if ( length($0) > size ) size = length($0); } END {print size }' <<< $lsusb ) ))
lsusb_t=$( lsusb -t )
# formation index bus-device
ls=$( gawk '
BEGIN {FS=": "}
{
split($1,tab," ")
bus=sprintf("%d",tab[2])
device=sprintf("%d",tab[4])
objet=$2
print bus "-" device " : " $1 " " objet
}
' <<< $lsusb )
# extraction Class Driver et formation index bus-device
lst=$( gawk '
BEGIN {FS=", "}
{
sub(/^.*Bus /,"",$1)
sub(/Human Interface Device/,"HID")
split($1,tab,".Port [0-9]+: Dev ")
if ( tab[1] ~ /[0-9]+/ ) bus=sprintf("%d",tab[1]); else bus=bus
device=tab[2]
if ( $2 ~ /If/) {
sub(/Class=/,"",$3)
class=$3
sub(/.*Driver=/,"",$4)
driver=$4
} else {
sub(/Class=/,"",$2)
class=$2
sub(/.*Driver=/,"",$3)
driver=$3
}
printf( "%s-%s | ⇉ Class: %-15s Driver: %s\n",bus,device,class,driver )
}
' <<< $lsusb_t )
# assemblage et suppression index bus-device
IFS=$'\n'
for ils in $ls; do
test=${ils% :*}
result=$( grep -w -m1 "$test" <<< "$lst" )
result=${result#* | }
ils=${ils#* : }
ls_p+=$( printf "%-"$size"s %s" $ils $result)$'\n'
done
ls_p=${ls_p%[[:cntrl:]]}
IFS="$IFS_INI"
###
f_prnt titre2 "USB"
f_dspl cmd "$lsusb" "lsusb"
f_dspl cmd "$lsusb_t" "lsusb -t"
f_dspl cmd "$ls_p" "lsusb" "commande modifiée, ajout Class & Driver"
}
fi_vrms(){ # 1/12/2017
@ -2528,7 +2604,7 @@ figet_cpu(){ #v 14/12/2017
}
# stockage des flags cpu extraits du kernel, assigna $CPU_FLAGS
figet_cpu_flags(){ # 24/11/2017
figet_cpu_flags(){ # 14/12/2017
x_cpu_flags=1
CPU_FLAGS="
@ -3193,10 +3269,8 @@ figet_dmi(){ #v2 14/12/2017
[ "$product" ] && fg_dmi="$product "$'\n'
[[ "$board" && "$indic1" != "$indic2" ]] && fg_dmi+="$board "$'\n'
[ "$bios" ] && fg_dmi+="$bios "
fg_dmi=${fg_dmi//Inc. }
fg_dmi=${fg_dmi//INC. }
fg_dmi=${fg_dmi//Computer }
fg_dmi=${fg_dmi//COMPUTER }
fg_dmi=$( f_epure_marque "$fg_dmi" )
unset chassis_type
}
# infos température et fan via acpi, assigne $fg_hw
@ -3446,23 +3520,10 @@ figet_lspci(){ # 14/12/2017
# uniquement les devices
if [ "$2" == "name" ]; then
while read -r field1 lspci; do
lspci=${lspci#*: } # suppression début, jusqu"à': '
lspci=${lspci% (rev*} # suppression à la fin, '(rev..'
lspci=${lspci/System Controller Hub } # suppression 'System Controller Hub '
lspci=${lspci/Advanced Micro Devices, Inc. } # suppression 'Advanced Micro Devices, Inc. '
lspci=${lspci/Semiconductor Co., Ltd. } # suppression 'Semiconductor Co., Ltd. '
lspci=${lspci/Corporation } # suppression 'Corporation '
lspci=${lspci/Limited } # suppression 'Limited '
lspci=${lspci/Inc. } # suppression 'Inc. '
lspci=${lspci/Co. } # suppression 'Co. '
lspci=${lspci/Ltd. } # suppression 'Ltd. '
lspci=${lspci// } # suppression ' '
lspci=${lspci/Series Family /Series }
lspci=${lspci/Series Chipset Family /Series }
lspci=${lspci/High Definition /HD }
lspci=${lspci%(rev *)}
display+="$lspci "$'\n'
done <<< $( lspci | grep -Ei "$motif" )
display=$( f_epure_marque "$display" )
# lspci détaillé RAW || MODULE
elif [[ "$2" == "raw" || "$2" == "module" ]]; then
slots=$( lspci | grep -Ei "$motif" | cut -d" " -f1 )
@ -3809,7 +3870,7 @@ fipaste(){ # 10/11/2017
# à tester fipaste_curl_markdownshare "$fileOutput"
}
# $1 fichier à exporter, $2 durée de conservation en jour; $3 debug
# $1=fichier à exporter, $2 durée de conservation en jour; $3 debug
fipaste_curl_pastery(){ # 25/10/2017
[ -e "$1" ] || f__error "fichier $1 inexistant"
local curl id pluriel
@ -4183,7 +4244,7 @@ for j in $options; do
ORIGIN='test'
prg_1 "$*"
echo -n "•"
fi_system
fi_usb
echo; f_prnt_md "$fileOutput"
exit ;; # test
-c* | all )

View File

@ -2,6 +2,11 @@
f__architecture
## getInfo 2.66.0 14/12/2017
* nouveau: fi_usb, assemblage lsusb & lsusb -t
* nouveau: f_epure_marque, donc révision figet_dmi, figet_lspci
## getInfo 2.65.0 14/12/2017
* nouveau: fi_touchpad