mirror of https://framagit.org/kyodev/kyopages.git
parent
19e8b8d608
commit
0b810cc332
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=1.23.0
|
||||
date="23/09/2017"
|
||||
version=1.22.0
|
||||
date="22/09/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
|
||||
script="getInfo"
|
||||
|
@ -70,22 +70,20 @@ 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() { # 22/09/2017
|
||||
f__error() { # 25/08/2017
|
||||
echo -e "\n$RED $script $version, erreur critique: $1 $COLOR"
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
unset i
|
||||
for (( i=2 ; i<=$# ; i++ )); do echo -e " $BLUE${!i}"; done
|
||||
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 uniquement $2 logué
|
||||
f__info() { # 22/09/2017
|
||||
# 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
|
||||
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"
|
||||
}
|
||||
|
||||
|
@ -108,7 +106,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(){ # 22/09/2017
|
||||
f__requis(){ # 30/08/2017-3
|
||||
local dependsMissing packagesMissing command package
|
||||
unset debOnlyPackages debOnlyPresents
|
||||
for i in $1; do
|
||||
|
@ -124,7 +122,6 @@ f__requis(){ # 22/09/2017
|
|||
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
|
||||
|
@ -350,7 +347,7 @@ fi_dmesg(){ # root only, si $1=dmesg rapport dmesg only # 22/09/2017
|
|||
echo -e "$text" >> "$fileOutput"
|
||||
}
|
||||
|
||||
fi_gpu(){ # 23/09/2017
|
||||
fi_gpu(){ # 22/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')"
|
||||
|
@ -360,7 +357,6 @@ fi_gpu(){ # 23/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)"
|
||||
|
@ -470,7 +466,7 @@ fi_nm_wifis(){ # 30/08/2017
|
|||
echo -e "$text" >> "$fileOutput"
|
||||
}
|
||||
|
||||
fi_reseau(){ # 23/09/2017
|
||||
fi_reseau(){ # 22/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')"
|
||||
|
@ -480,7 +476,6 @@ fi_reseau(){ # 23/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
|
||||
|
@ -491,11 +486,10 @@ fi_reseau(){ # 23/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 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
|
||||
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
|
||||
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|^$')"
|
||||
|
@ -706,7 +700,7 @@ fi_usb(){ # 30/08/2017
|
|||
echo -e "$text" >> "$fileOutput"
|
||||
}
|
||||
|
||||
figet_battery() { # thanks neofetch, assigne $battery # 23/09/2017
|
||||
figet_battery() { # thanks neofetch, assigne $battery # 30/08/2017
|
||||
local capacity status
|
||||
for bat in "/sys/class/power_supply/BAT"*; do
|
||||
capacity="$(< "${bat}/capacity")"
|
||||
|
@ -715,7 +709,6 @@ figet_battery() { # thanks neofetch, assigne $battery # 23/09/2017
|
|||
[[ -z "$capacity" ]] && return
|
||||
battery+="${capacity}% [${status}]"
|
||||
done
|
||||
unset bat
|
||||
return
|
||||
[[ "$battery_state" ]] && battery+=" En charge"
|
||||
}
|
||||
|
@ -797,16 +790,15 @@ figet_disk() { # thanks neofetch, assigne $disk # 30/08/2017
|
|||
disk="${disk_used} / ${disk_total} (${disk_total_per})"
|
||||
}
|
||||
|
||||
figet_distro() { # thanks neofetch, assigne $distro # 23/09/2017
|
||||
figet_distro() { # thanks neofetch, assigne $distro
|
||||
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 fich in /etc/os-release /usr/lib/os-release /etc/*release /usr/lib/*release; do
|
||||
source "$fich" && break
|
||||
for file in /etc/os-release /usr/lib/os-release /etc/*release /usr/lib/*release; do
|
||||
source "$file" && 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)"
|
||||
|
@ -841,7 +833,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() { # 23/09/2017
|
||||
figet_ip() { # 04/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)"
|
||||
|
@ -852,7 +844,6 @@ figet_ip() { # 23/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
|
||||
|
@ -860,7 +851,7 @@ figet_ip() { # 23/09/2017
|
|||
}
|
||||
|
||||
# $1=4|6, assigne $ip_public
|
||||
figet_ip_public(){ # 23/09/2017
|
||||
figet_ip_public(){ # 03/09/2017
|
||||
|
||||
list_ip4(){
|
||||
ip_test+=" http://whatismyip.akamai.com"
|
||||
|
@ -913,29 +904,26 @@ figet_ip_public(){ # 23/09/2017
|
|||
fi
|
||||
|
||||
if [ "$(which dig)" ] && [ -z "$ip_public" ]; then
|
||||
for i in $dig_test ; do
|
||||
ip_public="$(dig +short $(sed 's;/; ;g' <<< $i))"
|
||||
for ii in $dig_test ; do
|
||||
ip_public="$(dig +short $(sed 's;/; ;g' <<< $ii))"
|
||||
[ "$ip_public" ] && break
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
|
||||
if [ "$(which wget)" ] && [ -z "$ip_public" ]; then
|
||||
cmd="wget --quiet --tries=1 --timeout=5 -O - "
|
||||
for i in $ip_test ; do
|
||||
ip_public="$($cmd $i)"
|
||||
for ii in $ip_test ; do
|
||||
ip_public="$($cmd $ii)"
|
||||
[ "$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 i in $ip_test ; do
|
||||
ip_public="$($cmd $i)"
|
||||
for ii in $ip_test ; do
|
||||
ip_public="$($cmd $ii)"
|
||||
[ "$ip_public" ] && break
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
|
||||
if [ "$(which telnet)" ] && [ -z "$ip_public" ]; then
|
||||
|
@ -1233,8 +1221,8 @@ prg_3(){ # fin de traitements
|
|||
|
||||
options=$@
|
||||
# traitement option
|
||||
for j in $options; do
|
||||
case $j in
|
||||
for i in $options; do
|
||||
case $i in
|
||||
debug )
|
||||
optDebug="debug"
|
||||
;; # si debug, retour json de pastery.net
|
||||
|
@ -1243,14 +1231,13 @@ for j 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 j in $options; do
|
||||
case $j in
|
||||
for i in $options; do
|
||||
case $i in
|
||||
info )
|
||||
prg_1
|
||||
prg_2
|
||||
|
@ -1304,7 +1291,7 @@ for j in $options; do
|
|||
exit ;; # affichage help
|
||||
esac
|
||||
done
|
||||
unset j
|
||||
|
||||
exit 0
|
||||
|
||||
wget -O getInfo https://framagit.org/kyodev/kyopages/raw/master/scripts/getInfo
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
# 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
|
||||
|
|
Loading…
Reference in New Issue