diff --git a/scripts/getInfo b/scripts/getInfo index 7fa5d27..2092cda 100755 --- a/scripts/getInfo +++ b/scripts/getInfo @@ -1,7 +1,7 @@ #!/bin/bash -version=3.28.0 -date="01/03/2018" +version=4.0.0 +date="02/03/2018" projet="simpledeb" contact="IRC freenode.net ##sdeb ou https://framagit.org/kyodev/kyopages/issues/" script="getInfo" @@ -270,7 +270,7 @@ f__sudo(){ # 24/02/2018 # $1=NOM de la variable à trimer (variable et non $variable), [$2=left|right|all], all si vide # gain vitesse en test: 40 à 75% par rapport à '| xargs' # var=$( function ) presque 2x lent que eval "var=" -f__trim2(){ # 25/02/2018 +f__trim(){ # 02/03/2018 local trim=${!1} [[ "$2" == right || "$2" == all || -z "$2" ]] && trim="${trim%${trim##*[^[:space:]]}}" # fin right [[ "$2" == left || "$2" == all || -z "$2" ]] && trim="${trim#${trim%%[^[:space:]]*}}" # début left @@ -553,7 +553,7 @@ f_grep_file(){ # 27/01/2018 echo -en "$display" } -f_help(){ # 26/02/2018 +f_help(){ # 02/03/2018 local ligne help=( "-----------------------------------------------------------------------" "$GREEN""./getInfo$STD : exécution script" @@ -569,6 +569,7 @@ f_help(){ # 26/02/2018 "$BLUE -us$STD : upgrade spécial du script en place (sans être installé)" "$BLUE --ip$STD : affiche ip publique (ipv4/ipv6), pas de rapport markdown" "$BLUE --mac$STD : affiche adresses Mac, pas de rapport markdown" + "$BLUE --rc$STD : fetch, affiche un résumé, destiné à l'identification et appelé depuis .batchrc" "$BLUE --serial$STD : affiche n° série disques, batterie et châssis, pas de rapport markdown" "$BLUE --ssid$STD : affiche configurations ssid, pas de rapport markdown,$RED root & NetworkManager$STD requis" "$BLUE -t$STD$GREEN""n$STD : durée de conservation du paste de$GREEN n$STD jour(s)" @@ -576,7 +577,9 @@ f_help(){ # 26/02/2018 "-----------------------------------------------------------------------" "$BLUE./$script -i$STD : installation du script dans le système $RED(root)$STD" "$BLUE$script -h$STD, --help : affichage aide" + "$BLUE$script --irc$STD : installation fetch $RED(root)$STD" "$BLUE$script -r$STD, --remove : désinstallation du script $RED(root)$STD" + "$BLUE$script --rrc$STD : désinstallation fetch $RED(root)$STD" "$BLUE$script -u$STD, --upgrade : mise à jour script" "$BLUE$script -v$STD, --version : version du script" ) @@ -688,7 +691,7 @@ f_prnt(){ # 22/02/2018 # contrainte markdown: # l'italique avec _ ou * n'est pas géré, trop d'interférences potentielles # liste niveau2: 3 ou 4 caractères, niveau3: 6 ou 8 caractères, puce * ou - -f_prnt_md(){ # 12/12/2017 +f_prnt_md(){ # 02/03/2018 local display display2 ligne margin if [ ! -f "$1" ]; then f__info "pas de rapport à afficher, vous devez lancer une analyse auparavant:" \ @@ -707,6 +710,7 @@ f_prnt_md(){ # 12/12/2017 # plus simple pour les multi-patterns, sinon matches multilignes délicats à gérer en cas d'impairage IFS=$'\n' # normalement inutile while read -r ligne; do + [[ "$ligne" == "------------" && "$operation" == "rc" ]] && continue ligne=${ligne//\\/\\\\} # re echappement des antislash, utile pour efiboot, méthode bourrin, sans comprendre le pourquoi # # TITRE 1 red [[ "$ligne" =~ ^(#[^#].*)$ ]] && ligne="\x1B[31m"${BASH_REMATCH[1]}"\x1B(B\x1B[m" @@ -737,10 +741,10 @@ f_prnt_md(){ # 12/12/2017 # puces niveau 3 [[ "$ligne" =~ ^([[:space:]]{6,8})\*(.*)$ ]] && ligne=${BASH_REMATCH[1]}'◾ '${BASH_REMATCH[2]} [[ "$ligne" =~ ^([[:space:]]{6,8})-(.*)$ ]] && ligne=${BASH_REMATCH[1]}'◾ '${BASH_REMATCH[2]} - display2+="$margin""$ligne\n" + display2+="$margin""$ligne"$'\n' done <<< "$display" IFS="$IFS_INI" - echo -e "$display2" + echo -e "${display2%$'\n'}" } # $1=modules [$2=repertoire spécifique de recherche], affiche emplacements et modules trouvés @@ -1573,7 +1577,7 @@ fi_mem(){ # 21/02/2018 } # [$1=silent], assigne fe_nb_reseau, fe_cards_reseau -fi_net(){ # 22/02/2018 ( matériel ) +fi_net(){ # 02/03/2018 ( matériel ) local cards cmd_cards modEth cmd_modEth cmt_modEth modWln cmd_modWln cmt_modWln pluriel text local alert_wlx @@ -1582,8 +1586,8 @@ fi_net(){ # 22/02/2018 ( matériel ) # devices figet_lspci "net" "name" # noms des cartes réseau détectées, mix ethernet/wifi fe_cards_reseau=${lspci[name]/Network controller: /Wireless: } - fe_cards_reseau=${fe_cards_reseau/Ethernet controller: /Ethernet: } fe_cards_reseau=${fe_cards_reseau/Wireless Network/Wireless} + fe_cards_reseau=${fe_cards_reseau/Ethernet controller: /Ethernet: } fe_nb_reseau=${lspci[nb_card]} # 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) @@ -1609,7 +1613,7 @@ fi_net(){ # 22/02/2018 ( matériel ) cmd_modWln="lsmod | grep -Ew '${lspci[srch_mod]}'" [ "$( f__wcv -wv "$modWln" "^[[:alnum:]]" )" -gt 1 ] && pluriel="s" || unset pluriel cmt_modWln="**Wifi:** $( f__wcv -wv "$modWln" "^[[:alnum:]]" ) module"$pluriel" utilisé"$pluriel - (( x_ip == 1 )) || figet_ip + figet_ip if grep -iq 'wlx' <<< "$fg_ifn"; then alert_wlx="Une interface wifi est en erreur: $( grep 'wlx' <<< "${fg_ifn// /$'\n'}" ) \n" alert_wlx+="l'interface n'est pas reconnue et est donc mal nommée, " @@ -1696,7 +1700,7 @@ fi_packagers(){ # 23/11/2017 fi } -fi_pkg_apt(){ # 28/02/2018 +fi_pkg_apt(){ # 02/03/2018 local dateMaj nb_packages ifile info_update text pluriel local sources cmt_sources cmd_sources result local apt_v apt_version apt_prefs cmt_apt_prefs cmd_apt_prefs alert_non_pref @@ -1934,7 +1938,7 @@ fi_pkg_apt(){ # 28/02/2018 # paquets épinglés (pinning) pinned=$( apt-cache policy | grep '\->' ) while read -r ; do - f__trim2 "REPLY" + f__trim "REPLY" tempo+="$REPLY"$'\n' done <<< "$pinned" pinned="${tempo::-1}" @@ -2256,7 +2260,7 @@ fi_ssid(){ # 24/12/2017 rm "$file_output" } -fi_system(){ # 01/03/2018 +fi_system(){ # 02/03/2018 local mbr uname bootImage initDaemon upstart date_install lastboot uptime uptimePure loadAverage pluriel text local enum_batt nb_desktop serverX serverType local alimentation alim_total @@ -2274,7 +2278,7 @@ fi_system(){ # 01/03/2018 (( x_dmi == 1 )) || figet_dmi (( x_gpu == 1 )) || fi_gpu "silent" (( x_net == 1 )) || fi_net "silent" - (( x_screen )) || figet_screen + (( x_screen == 1 )) || figet_screen (( x_shell == 1 )) || figet_shell (( x_touchpad == 1 )) || fi_touchpad "silent" (( x_wm == 1 )) || figet_wm @@ -2368,8 +2372,8 @@ fi_system(){ # 01/03/2018 # batterie(s) enum_batt=$( grep -E '[A-Z][A-Z]' <<< "$fg_batt" ) ### - if [ "$1" == "rc" ]; then - fi_systemRc + if [ "$operation" == "rc" ]; then + fi_system_rc return fi [ "$ORIGIN" ] && f_prnt tit2 "système" @@ -2393,8 +2397,8 @@ fi_system(){ # 01/03/2018 f_prnt l2 "$uname" f_prnt l2 "boot: $mbr" f_prnt l2 "architecture système: $fu_archi" - f_prnt l2 "date d'installation: $date_install" - f_prnt l2 "démon d'initialisation: $initDaemon" + f_prnt l2 "installation: $date_install" + f_prnt l2 "démon init: $initDaemon" f_prnt l3 "$upstart" '[ "$upstart" ]' f_prnt l2 "shell actif: $fg_shell" [ "$( f__wcv -w "$fg_shells" )" -gt 1 ] && pluriel="s" || unset pluriel @@ -2406,8 +2410,7 @@ fi_system(){ # 01/03/2018 f_prnt l2 "nombre d'écrans: $fg_nb_screen" [ $( f__wcv "-wv" "$fg_resolution" "pixels" ) -gt 1 ] && pluriel="s" || unset pluriel f_prnt l2 "résolution"$pluriel": $fg_resolution" - [ $( wc -w <<< "$fg_dm" ) -gt 1 ] && pluriel="s" || unset pluriel - f_prnt l2 "display manager"$pluriel": $fg_dm" + f_prnt l2 "display manager: $fg_dm" f_prnt l2 "desktop (DE): $fg_de" f_prnt l2 "panel: $fg_de_panel" '[ "$fg_de_panel" ]' f_prnt l2 "window manager: $fg_wm" @@ -2434,46 +2437,6 @@ fi_system(){ # 01/03/2018 f_dspl_alrt "$alert_slim" "alert" } -fi_systemRc(){ - f_prnt 2 "${fg_dmi//$'\n'/ }" - f_prnt 2 "$( sed -n '1p' <<< "$fg_cpu" )" - f_prnt 2 "$fe_gpu" - f_prnt 2 "$fe_cards_reseau" - f_prnt - f_prnt l2 "distrib: $fg_distrib" - f_prnt l2 "kernel: $uname" - f_prnt l2 "boot: $mbr" - f_prnt l2 "date d'installation: $date_install" - f_prnt l2 "démon d'initialisation: $initDaemon" - f_prnt l3 "$upstart" '[ "$upstart" ]' - f_prnt l2 "shell: $fg_shell" - f_prnt l2 "${bootImage//$'\n'/ }" - f_prnt l2 "serveur d'affichage$serverType $serverX" - f_prnt l2 "nombre d'écrans: $fg_nb_screen" - [ $( f__wcv "-wv" "$fg_resolution" "pixels" ) -gt 1 ] && pluriel="s" || unset pluriel - f_prnt l2 "résolution"$pluriel": $fg_resolution" - [ $( wc -w <<< "$fg_dm" ) -gt 1 ] && pluriel="s" || unset pluriel - f_prnt l2 "display manager"$pluriel": $fg_dm" - f_prnt l2 "desktop (DE): $fg_de" - f_prnt l2 "panel: $fg_de_panel" '[ "$fg_de_panel" ]' - f_prnt l2 "window manager: $fg_wm" - f_prnt - f_prnt 1 "$fg_disk_part_fix_tot" - f_prnt 1 "dernier boot: $lastboot ($uptime)" - loadAverage=$( - LC_ALL=C uptime 2>/dev/null | awk -v threads="$fg_nb_threads" -F'(, )' '{ - gsub(/ load average: /,"") - if ( threads > 1 ) th="threads"; else th="thread" - la1 = $(NF-2) - la5 = $(NF-1) - la15 = $NF - printf "charge système: %s %s %s, ", la1, la5, la15 - printf "soit avec %d %s : %d%% %d%% %d%% ", threads, th, la1/2*100, la5/2*100, la15/2*100 - }' ) - f_prnt 1 "$loadAverage" - f_prnt flush -} - fi_system_analyse(){ # 25/02/2018 [ $( f__which systemd ) ] || return 0 # pas systemd local bootTime cmd_bootTime cmt_bootTime pluriel text @@ -2546,6 +2509,61 @@ fi_system_analyse(){ # 25/02/2018 f_dspl cmd:text "$bootGraph" "$cmd_bootGraph" "$cmt_bootGraph" } +fi_system_rc(){ # 02/03/2018 + local if_actif iip ip_act + + if_actif=$( ip -o link | awk '/state UP/{sub(/:/,"",$2); printf "%s ",$2}' ) + for iip in $if_actif; do + ip_act+=$( ip -o address show dev $iip | awk ' + #~ /inet/ { sub(/wl.*/,"wifi: "$2,$2); sub(/en.*|eth.*/,"rj45: "$2,$2); sub(/\/.*/,"", $4) } + /inet/ { sub(/\/.*/,"", $4) } + /inet6/ { ip6 = $4; exit } + /inet / { ip4 = $4 } + END { printf "%s %s %s",$2,ip4,ip6 }' ) + done + f_prnt code + f_prnt 2 "$( sed -n '1p' <<< "$fg_dmi" )" + f_prnt 2 "$( sed -n '1p' <<< "$fg_cpu" )" + f_prnt 2 "$fe_gpu" + #~ f_prnt 2 "$fe_cards_reseau" + if grep -q 'wl.*' <<< "$ip_act"; then + #~ toPrint=$( grep 'wl.*' <<< "$ip_act" )$'\n'" $( grep 'Wireless:' <<< "$fe_cards_reseau" )" + toPrint=$( grep 'Wireless:' <<< "$fe_cards_reseau" )$'\n'" $(grep 'wl.*' <<< "$ip_act" )" + f_prnt l2 " * ${toPrint/Wireless: }" + fi + if grep -Eq 'en.*|eth.*' <<< "$ip_act"; then + toPrint=$( grep 'Ethernet:' <<< "$fe_cards_reseau" )$'\n'" $(grep -E 'en.*|eth.*' <<< "$ip_act" )" + f_prnt l2 " * ${toPrint/Ethernet: }" + fi + f_prnt + f_prnt l2 "distrib: $fg_distrib (installation: $date_install)" + f_prnt l2 "kernel : $uname" + f_prnt l2 "boot: $mbr, init: $initDaemon $upstart" + f_prnt l2 "shell : $fg_shell" + f_prnt l2 "serveur d'affichage$serverType $serverX" + f_prnt l2 "nombre d'écrans: $fg_nb_screen" + f_prnt l2 "résolution"$pluriel": $fg_resolution" + f_prnt l2 "display manager: $fg_dm" + f_prnt l2 "desktop (DE) : $fg_de" + f_prnt l2 "window manager : $fg_wm" + f_prnt + f_prnt l3 "$fg_disk_part_syst" + f_prnt l3 "dernier boot: $lastboot ($uptime)" + loadAverage=$( + LC_ALL=C uptime 2>/dev/null | awk -v threads="$fg_nb_threads" -F'(, )' '{ + gsub(/ load average: /,"") + if ( threads > 1 ) th="threads"; else th="thread" + la1 = $(NF-2) + la5 = $(NF-1) + la15 = $NF + printf "charge système: %s %s %s, ", la1, la5, la15 + printf "soit avec %d %s : %d%% %d%% %d%% ", threads, th, la1/2*100, la5/2*100, la15/2*100 + }' ) + f_prnt l3 "$loadAverage" + f_prnt code + f_prnt flush +} + # [$1=silent], assigne $fe_touchpad, fe_nb_touchpad fi_touchpad(){ # 24/02/2018 local device cmd_device toScrut xfile file_logs type type_pt pilote cmd_pilote cmt_pilote info_driver @@ -3277,7 +3295,7 @@ figet_cpu_uarch(){ # 14/11/2017 } # assigne $fg_de, $fg_de_panel -figet_de(){ # 25/02/2018 # thanks neofetch +figet_de(){ # 02/03/2018 # thanks neofetch local de="n/a" ps_e version tmp_version x_de=1 @@ -3321,8 +3339,8 @@ figet_de(){ # 25/02/2018 # thanks neofetch de=$( unity --version ) elif [ "${de,,}" == "xfce" ]; then version=$( xfce4-about --version | head -n1 ) - version=${version#*(Xfce} - version=${version%)*} + version=${version#*\(Xfce} + version=${version%\)*} de="$de$version" fi if [ "$de" ]; then @@ -3342,12 +3360,12 @@ figet_de(){ # 25/02/2018 # thanks neofetch # $fg_nb_disk : nb disk fixe & amovible, $fg_disk_table : tableau sommaire, fg_disk_serial # $fg_disk_fixe : liste devices block fixes, $fg_disk_amov : liste devices block amovibles - # $fg_disk_part_fix_tot : espace des partitions fixes montées + # $fg_disk_part_fix_tot : espace des partitions fixes montées, *fg_disk_part_syst: espace partition système # $fg_disk_ata, $fg_disk_usb, $fg_disk_mmc, $fg_disk_nvme : liste disk ata, usb... # $fg_disk_part_fixe_m, $fg_disk_part_amov_m : liste partitions montées, fixes ou amovibles # $fg_disk_part_swap : liste partitions swap # $fg_disk_part_fixe_nm, $fg_disk_part_amov_nm : liste partitions non montées, fixes ou amovibles -figet_disk(){ # 26/02/2018 +figet_disk(){ # 02/03/2018 local size type list_id idisk lsblk vendor model rev serial unset fg_disk_fixe fg_disk_amov @@ -3359,26 +3377,26 @@ figet_disk(){ # 26/02/2018 for idisk in $( f__dir -l "/sys/block/" "loop" ); do #~ for idisk in /sys/block/* ; do size=$( lsblk -no SIZE -d /dev/$idisk ) - f__trim2 "size" + f__trim "size" type=$( lsblk -no HOTPLUG /dev/$idisk | sed -n '2p' ) - f__trim2 "type" + f__trim "type" [ "$type" == "0" ] && type="Fixe" || type="Amov" vendor=$( lsblk -no VENDOR /dev/$idisk ) - f__trim2 "vendor" + f__trim "vendor" model=$( lsblk -no MODEL /dev/$idisk ) - f__trim2 "model" + f__trim "model" serial=$( lsblk -no SERIAL /dev/$idisk ) - f__trim2 "serial" + f__trim "serial" if [[ -z "$vendor" || -z "$model" ]]; then # tentative extraction valeur via /dev/disk/by-id/ vendor="n/a" vendor=$( ls -l /dev/disk/by-id/ | awk ' !/-part/ && !/wwn-/ {print $9,$11}' ) - f__trim2 "vendor" + f__trim "vendor" vendor=$( sed -E 's/.*-(.*)_[0-9]+.*$/\1/;s/_/ /g' <<< "$vendor" ) fg_disk_table+=$( printf '%-5s %-8s %-6s %s' "$idisk" "$size" "$type" "$vendor" )$'\n' fg_disk_serial+=$( printf '%-5s %s %s' "$idisk" "$vendor" "$serial" )$'\n' else rev=$( lsblk -no REV /dev/$idisk ) - f__trim2 "rev" + f__trim "rev" fg_disk_table+=$( printf '%-5s %-8s %-6s %-10s %-18s %-6s' "$idisk" "$size" "$type" "$vendor" "$model" "$rev")$'\n' fg_disk_serial+=$( printf '%-5s %-10s %-18s %-6s %-24s %s' "$idisk" "$vendor" "$model" "$rev" "$serial")$'\n' fi @@ -3413,11 +3431,15 @@ figet_disk(){ # 26/02/2018 # total espaces partitions fixes montées fg_disk_part_fix_tot="partitions fixes montées (total, utilisé, dispo): " fg_disk_part_fix_tot+=$( df -h --total --output=size,used,avail $( printf '/dev/%s ' $fg_disk_part_fixe_m ) 2>/dev/null | tail -n-1 ) - f__trim2 "fg_disk_part_fix_tot" + f__trim "fg_disk_part_fix_tot" fg_disk_part_fix_tot=${fg_disk_part_fix_tot//G/Go} fg_disk_part_fix_tot=${fg_disk_part_fix_tot//M/Mo} fg_disk_part_fix_tot=${fg_disk_part_fix_tot//K/ko} [ "$fg_disk_part_fix_tot" ] || fg_disk_part_fix_tot="n/a" + # espace partition système + fg_disk_part_syst=$(df -h --output=source,size,used,avail,target | awk ' + /\/$/ {gsub(/G/,"Go"); gsub(/M/,"Mo"); gsub(/k/,"ko") + printf "partition système: %s, total: %s, occupé: %s, libre: %s %d%%",$1,$2,$3,$4, $4/$2*100}' ) # liste des disques par type list_id=$( ls -l /dev/disk/by-id/ | awk '{print $9,$11}' ) fg_disk_ata=$( awk -F '/' '$0 ~ /^ata/ && $0 !~ /part/{printf "%s ",$NF}' <<< "$list_id" ) @@ -3653,24 +3675,26 @@ figet_hw(){ # 25/02/2018 } # $1=-4|-6, assigne $fg_ip, $fg_gws, $fg_ifn, $fg_mac, fg_ip_deprec (ipv6) -figet_ip(){ # 24/02/2018 +figet_ip(){ # 02/03/2018 local target ifn unset fg_ip fg_ip_deprec fg_gws fg_ifn_prior fg_ifn fg_mac - x_ip=1 [ $( f__which ip ) ] || return 1 [ "$1" ] && proto="$1" || proto="-4" # adresses ip fg_ip=$( ip $proto -o address | awk -v proto="$proto" ' - BEGIN { if (proto == -6) esp=41; else esp=16 } + BEGIN { if (proto == -6) larg=41; else larg=16 } /scope global/ { sub(/wl.*/,$2" (wifi)",$2); sub(/.*en.*|.*eth.*/,$2" (ethernet)",$2); - match($0,/scope .*\\/); scope=substr($0,RSTART,RLENGTH) - sub(/scope /,"",scope); sub(/\\/,"",scope) - match($0,/preferred_lft .*sec/); lft=substr($0,RSTART,RLENGTH) - sub(/sec/,"s",lft); sub(/preferred_lft/,"lft",lft) - printf "%-17s: %-"esp"s (%s) %s \n",$2,$4,lft,scope } + printf "%-17s: %-"larg"s ",$2,$4 + if (proto == -6) { + match($0,/scope .*\\/); scope=substr($0,RSTART,RLENGTH) + sub(/scope /,"",scope); sub(/\\/,"",scope) + match($0,/preferred_lft .*sec/); lft=substr($0,RSTART,RLENGTH) + sub(/sec/,"s",lft); sub(/preferred_lft/,"lft",lft) + printf "(%s) %s \n",lft,scope } + else printf "\n" } /fe80::/ { sub(/wl.*/,$2" (wifi)",$2) match($0,/scope .* \\/); scope=substr($0,RSTART,RLENGTH); sub(/scope /,"",scope); sub(/ \\/,"",scope) @@ -3686,8 +3710,8 @@ figet_ip(){ # 24/02/2018 # passerelles fg_gws=$( ip $proto route | awk ' - BEGIN { if (proto == -6) esp=42; else esp=12 } - /default via/ { printf "%-"esp"s (%s)\n",$3,$5 } + BEGIN { if (proto == -6) larg=42; else larg=12 } + /default via/ { printf "%-"larg"s (%s)\n",$3,$5 } ' ) # interface sortante if [ "$proto" == "-6" ]; then @@ -4326,6 +4350,42 @@ fipaste_curl_markdownshare(){ # à tester/finir #-d expire ? ou --data expire } + # fonction spécifique à l'installation +fscript_install_special(){ # 02/03/2018 + local bashrc + + # option --rc + if [ -e "/etc/bash.bashrc" ]; then # debian + bashrc="/etc/bash.bashrc" + elif [ -e "/etc/bashrc" ]; then # redhat + bashrc="/etc/bashrc" + elif [ -e "/etc/bash.bashrc.local" ]; then # suse + bashrc="/etc/bash.bashrc.local" + else + return + fi + grep -q "$script_install --rc" "$bashrc" && return # déjà inscrit + echo -e "\n### add by getInfo" >> "$bashrc" + echo "$script_install --rc" >> "$bashrc" +} + + # fonction spécifique à la désinstallation +fscript_remove_special(){ # 02/03/2018 + local bashrc + + # option --rc + if [ -e "/etc/bash.bashrc" ]; then # debian + bashrc="/etc/bash.bashrc" + elif [ -e "/etc/bashrc" ]; then # redhat + bashrc="/etc/bashrc" + elif [ -e "/etc/bash.bashrc.local" ]; then # suse + bashrc="/etc/bash.bashrc.local" + else + return + fi + sed -i "/$script/d" "$bashrc" +} + # tache upgrade dans anacron hebdomadaire, via cron horaire, $1=upgrade|install|remove fscript_cronAnacron(){ # 26/01/2018 local dirAnacron dirSpool fileAnacron @@ -4479,7 +4539,7 @@ prg_init(){ # 01/03/2018 shopt -u force_fignore execfail failglob # options bash spé - # shopt -s nocasematch ( case, [[ ) nocaseglob ( fichier ) + # shopt -s nocasematch ( case, [[ ), nocaseglob ( fichier ) # whereis script retourne vide si installé DIRNAME=$( dirname $0 ) @@ -4637,7 +4697,7 @@ function display_menu { prg_init # logo et définition couleurs -[ "$1" != "-rc" ] && f_affichage +[ "$1" != "--rc" ] && f_affichage # paramètres script user_agent="Mozilla/5.0 Firefox" @@ -4673,7 +4733,7 @@ for j in $options; do # première passe options -t* ) # durée de conservation standard du paste en jours pasteDuration=$(( $( sed -En 's/-t([0-9]+)/\1/p' <<< "$j" ) )) ;; - -i | --install | -r | --remove ) # root requis si install ou remove script + -i | --install | -r | --remove | --irc | --rrc ) # root requis si install ou remove script if [ "$EUID" -ne 0 ]; then f__info "vous devez être$RED ROOT$BLUE pour cette opération" f__sudo "exec $0 $@" @@ -4714,14 +4774,6 @@ for j in $options; do # deuxième passe options, actions prg_2 "$j" prg_3 ;; - -rc ) # essai rc - file_output="/tmp/getInfo.rc" - echo > "$file_output" - chmod 666 "$file_output" &>/dev/null - fi_system "rc" - cat "$file_output" - #~ f_prnt_md "$file_output" - exit ;; -dx ) # essai détail, xorgOnly prg_1 "$*" fi_gpu "xorgOnly" @@ -4750,6 +4802,15 @@ for j in $options; do # deuxième passe options, actions figet_ip f__info "adresses MAC:\n$STD$BOLD$fg_mac" ;; + --rc ) # fetch + operation="rc" + file_output="/tmp/getInfo.rc" + echo > "$file_output" + chmod 666 "$file_output" &>/dev/null + fi_system "rc" + #~ cat "$file_output" + f_prnt_md "$file_output" + exit ;; --serial ) # affiche n° série fi_serial ;; @@ -4765,12 +4826,18 @@ for j in $options; do # deuxième passe options, actions -r | --remove ) # remove script fscript_remove ;; + --irc ) # install fetch + fscript_install_special + ;; + --rrc ) # remove fetch + fscript_remove_special + ;; -u | --upgrade ) # upgrade script - opType="upgrade" # log si f__error + operation="upgrade" # log si f__error fscript_update exit ;; -us | --us ) # upgrade spécial (en place) - opType="upgrade" # log quand f__error + operation="upgrade" # log quand f__error script_install="$(dirname $0)/$script" fscript_update "update en place" # redéfinition répertoire install avec celui du script exit ;; diff --git a/scripts/getInfo_changelog.md b/scripts/getInfo_changelog.md index 1340402..1456144 100644 --- a/scripts/getInfo_changelog.md +++ b/scripts/getInfo_changelog.md @@ -2,6 +2,13 @@ +## getInfo 4.0.0 02/03/2018 + +nouveau: option rc, affichage résumé ala neofetch, installation incluse dans l'install standard +révision: figet_ip, ipv4 +fix: figet_de, version xfce +fix: optype + ## getInfo 3.28.0 01/03/2018 * nouveau: fi_system, alerte SLiM+systemd