mirror of https://framagit.org/kyodev/kyopages.git
getInfo 2.66.0
This commit is contained in:
parent
1a4aab8fb1
commit
2a80432489
127
scripts/getInfo
127
scripts/getInfo
|
@ -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 )
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue