getInfo 1.23.0

This commit is contained in:
kyodev 2017-09-23 12:23:41 +02:00
parent 0b810cc332
commit 75b96f7259
2 changed files with 52 additions and 29 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash
version=1.22.0
date="22/09/2017"
version=1.23.0
date="23/09/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
script="getInfo"
@ -70,20 +70,22 @@ f__dialog_oui_non () { # 18/09/2017
}
# affichage $1 en rouge, $1++ optionnels en bleu, sortie script sur erreur, log $1 si $opType=upgrade
f__error() { # 25/08/2017
f__error() { # 22/09/2017
echo -e "\n$RED $script $version, erreur critique: $1 $COLOR"
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
unset i
echo "$COLOR"
if [ "$opType" == "upgrade" ]; then f__log "$script $version: $1"; fi
exit 1
}
# affichage des paramètres en bleu, si $1=raw pas de ligne vide à la fin, si $1=log $2 uniquement logué
f__info() { # 25/08/2017
# affichage des paramètres en bleu, si $1=raw pas de ligne vide à la fin, si $1=log uniquement $2 logué
f__info() { # 22/09/2017
local depart=1
if [ "$1" == "raw" ] || [ "$1" == "log" ]; then depart=2; fi
[ "$1" == "log" ] && f__log "$(sed -E 's/\\t//;s/\\n// ' <<< $2 | xargs )"
for (( i=$depart ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
unset i
[ "$1" == raw ] && printf "$COLOR" || echo "$COLOR"
}
@ -106,7 +108,7 @@ f__log(){ # 08/O9/2017
# si $2=debOnly et si paquets manquants: return 1 et $debOnlyPackages ( $1=liste paquets )
# si $2=debOnly et si paquets présent: return 0 et $debOnlyPresents ( $1=liste paquets )
# attention priorité $debOnlyPackages sur $debOnlyPresents
f__requis(){ # 30/08/2017-3
f__requis(){ # 22/09/2017
local dependsMissing packagesMissing command package
unset debOnlyPackages debOnlyPresents
for i in $1; do
@ -122,6 +124,7 @@ f__requis(){ # 30/08/2017-3
packagesMissing+="$package "
fi
done
unset i
[ "$debOnlyPackages" ] && debOnlyPackages="$(xargs <<< $debOnlyPackages)" # trim début & fin
[ "$debOnlyPresents" ] && debOnlyPresents="$(xargs <<< $debOnlyPresents)" # trim début & fin
[ "$debOnlyPackages" ] && return 1
@ -347,7 +350,7 @@ fi_dmesg(){ # root only, si $1=dmesg rapport dmesg only # 22/09/2017
echo -e "$text" >> "$fileOutput"
}
fi_gpu(){ # 22/09/2017
fi_gpu(){ # 23/09/2017
local slotGraphCards graphCards openGl resolutions extraitXorg text
# graphCards="$(lspci -nnk | grep -iEA 3 'vga|display|3d')"
# graphCards="$(lspci -nnv | grep -iEA 13 '^[0-9]+.*vga|display|3d')"
@ -357,6 +360,7 @@ fi_gpu(){ # 22/09/2017
graphCards+="$(lspci -s $i -nnv)\n"
graphCards+='```\n'
done
unset i
graphCards="$(echo -e "$graphCards")"
[ "$(which glxinfo)" ] && openGl="$(glxinfo | grep 'OpenGL version string:')"
resolutions="$(xrandr --query | grep '^ *[0-9]' | head -n 10)"
@ -466,7 +470,7 @@ fi_nm_wifis(){ # 30/08/2017
echo -e "$text" >> "$fileOutput"
}
fi_reseau(){ # 22/09/2017
fi_reseau(){ # 23/09/2017
local slotNetCards netCards ip_a iwconfig interfaces route resolv text liste_canaux_wifi
# netCards="$(lspci -nnk | grep -iEA 5 'network|ethernet')"
# netCards="$(lspci -nnv | grep -iEA 15 'network|ethernet')"
@ -476,6 +480,7 @@ fi_reseau(){ # 22/09/2017
netCards+="$(lspci -s $i -nnv)\n"
netCards+='```\n'
done
unset i
netCards="$(echo -e "$netCards")"
ip_a="$(ip a | sed '/inet6.*scope global/d; /link\/ether/d; /valid_lft/d')" # filtre sur inet6 & scope global & adr MAC & bail?
if [ "$(which iwlist)" ]; then #paquet wireless-tools requis
@ -486,10 +491,11 @@ fi_reseau(){ # 22/09/2017
resolv="$(grep -vE '#|^$' /etc/resolv.conf)"
netmgrpaths=("/usr/sbin/NetworkManager" "/usr/sbin/wicd" "/usr/sbin/connmand") # thanks wireless-info
netmgrnames=("NetworkManager" "Wicd" "ConnMan") # thanks wireless-info
for ii in "${!netmgrpaths[@]}"; do
if [ -f "${netmgrpaths[$ii]}" ]; then netmgrinst+="${netmgrnames[$ii]}"; fi
if [ "$(ps -ef | grep -c ${netmgrpaths[$ii]})" -ge 2 ]; then netmgrrun+="$(ps -ef | grep -o "${netmgrpaths[$ii]}.*$" | head -n 1)"; fi
for i in "${!netmgrpaths[@]}"; do
if [ -f "${netmgrpaths[$i]}" ]; then netmgrinst+="${netmgrnames[$i]}"; fi
if [ "$(ps -ef | grep -c ${netmgrpaths[$i]})" -ge 2 ]; then netmgrrun+="$(ps -ef | grep -o "${netmgrpaths[$i]}.*$" | head -n 1)"; fi
done
unset i
text="## réseau \n\n"
if [ "$(which iwlist)" ]; then # liste canaux wifi; paquet wireless-tools requis
liste_canaux_wifi="$(iwlist chan 2>&1 | grep -vE 'no frequency information|^$')"
@ -700,7 +706,7 @@ fi_usb(){ # 30/08/2017
echo -e "$text" >> "$fileOutput"
}
figet_battery() { # thanks neofetch, assigne $battery # 30/08/2017
figet_battery() { # thanks neofetch, assigne $battery # 23/09/2017
local capacity status
for bat in "/sys/class/power_supply/BAT"*; do
capacity="$(< "${bat}/capacity")"
@ -709,6 +715,7 @@ figet_battery() { # thanks neofetch, assigne $battery # 30/08/2017
[[ -z "$capacity" ]] && return
battery+="${capacity}% [${status}]"
done
unset bat
return
[[ "$battery_state" ]] && battery+=" En charge"
}
@ -790,15 +797,16 @@ figet_disk() { # thanks neofetch, assigne $disk # 30/08/2017
disk="${disk_used} / ${disk_total} (${disk_total_per})"
}
figet_distro() { # thanks neofetch, assigne $distro
figet_distro() { # thanks neofetch, assigne $distro # 23/09/2017
if type -p lsb_release >/dev/null; then distro="$(lsb_release -sd)";
elif type -p guix >/dev/null; then distro="GuixSD";
elif type -p crux >/dev/null; then distro="$(crux)";
else
# Source the os-release file
for file in /etc/os-release /usr/lib/os-release /etc/*release /usr/lib/*release; do
source "$file" && break
for fich in /etc/os-release /usr/lib/os-release /etc/*release /usr/lib/*release; do
source "$fich" && break
done
unset fich
# Workarounds for distros that go against the os-release standard.
[[ -z "${distro// }" ]] && distro="$(awk '/BLAG/ {print $1; exit}' /etc/*ease /usr/lib/*ease)"
[[ -z "${distro// }" ]] && distro="$(awk -F '=' '{print $2; exit}' /etc/*ease /usr/lib/*ease)"
@ -833,7 +841,7 @@ figet_gpu() { # thanks neofetch, assigne $gpu
# assigne $ip_local, $gateway, $gateway_type, $gateway_one, $ip_local, $ip_local_type
# $ifnames, $ifnames_type, $mac_address, mac_address_type
figet_ip() { # 04/09/2017
figet_ip() { # 23/09/2017
[ -z "$(which ip)" ] && return 1
ip_local="$(sed '/lo.*inet/d; /inet6.*scope global/d' <<< "$(ip -o a)" | awk '{print " ",$4,"(",$2,")"}')"
ip_local_type="$(sed -E 's/(^.*wl.*)/\1 (wifi)/;s/(^.*en.*|^.*eth.*)/\1 (ethernet)/' <<< $ip_local)"
@ -844,6 +852,7 @@ figet_ip() { # 04/09/2017
[ "$ifn" != "lo" ] && ifnames+=" $ifn"$'\n' # $'\n' -> newline ou $'\x0a' ou $'\012'
[ "$ifn" != "lo" ] && mac_address+=" $ifn: $(cat /sys/class/net/$ifn/address)"$'\n'
done
unset ifn
ifnames="$(sed '/^$/d' <<< $ifnames)" # suppression \n final
ifnames_type+="$(sed -E 's/(^.*wl.*)/\1 (wifi)/;s/(^.*en.*|^.*eth.*)/\1 (ethernet)/' <<< $ifnames)"
mac_address="$(sed '/^$/d' <<< $mac_address)" # suppression \n final
@ -851,7 +860,7 @@ figet_ip() { # 04/09/2017
}
# $1=4|6, assigne $ip_public
figet_ip_public(){ # 03/09/2017
figet_ip_public(){ # 23/09/2017
list_ip4(){
ip_test+=" http://whatismyip.akamai.com"
@ -904,26 +913,29 @@ figet_ip_public(){ # 03/09/2017
fi
if [ "$(which dig)" ] && [ -z "$ip_public" ]; then
for ii in $dig_test ; do
ip_public="$(dig +short $(sed 's;/; ;g' <<< $ii))"
for i in $dig_test ; do
ip_public="$(dig +short $(sed 's;/; ;g' <<< $i))"
[ "$ip_public" ] && break
done
unset i
fi
if [ "$(which wget)" ] && [ -z "$ip_public" ]; then
cmd="wget --quiet --tries=1 --timeout=5 -O - "
for ii in $ip_test ; do
ip_public="$($cmd $ii)"
for i in $ip_test ; do
ip_public="$($cmd $i)"
[ "$ip_public" ] && break
done
unset i
fi
if [ "$(which curl)" ] && [ -z "$ip_public" ]; then
cmd="curl --silent --location --retry 0 --max-time 5" #--location pour aider redirections
for ii in $ip_test ; do
ip_public="$($cmd $ii)"
for i in $ip_test ; do
ip_public="$($cmd $i)"
[ "$ip_public" ] && break
done
unset i
fi
if [ "$(which telnet)" ] && [ -z "$ip_public" ]; then
@ -1221,8 +1233,8 @@ prg_3(){ # fin de traitements
options=$@
# traitement option
for i in $options; do
case $i in
for j in $options; do
case $j in
debug )
optDebug="debug"
;; # si debug, retour json de pastery.net
@ -1231,13 +1243,14 @@ for i in $options; do
;; # durée de conservation standard du paste en jours
esac
done
unset j
[ "$pasteDuration" ] || pasteDuration=7 # durée de conservation standard du paste en jours
# purge option des options
options="$(sed -E 's/debug[ ]*//g; s/-t[0-9]+//g' <<< $options | xargs)"
# traitement action
[ "$options" == "" ] && options="info"
for i in $options; do
case $i in
for j in $options; do
case $j in
info )
prg_1
prg_2
@ -1291,7 +1304,7 @@ for i in $options; do
exit ;; # affichage help
esac
done
unset j
exit 0
wget -O getInfo https://framagit.org/kyodev/kyopages/raw/master/scripts/getInfo

View File

@ -1,6 +1,16 @@
# changelog getInfo
## todo
* placé ln dans /usr/local/bin au lieu de /usr/bin ?
## 1.23.0 23/09/2017
* f__requis, f__info, f__error unset/for
* révision unset/for
## 1.22.0 22/09/2017
* système, présentation en table pour meilleure présentation