Advertisement
Dobbie03

Untitled

May 19th, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. # extremely simple system info script written for bash 4+
  4.  
  5. # fallback
  6. FB="unknown"
  7.  
  8. # colours
  9. FG=$'\e[0m'
  10. for n in {0..7}; do
  11. printf -v FG${n} "%b" "\e[3${n}m"
  12. done
  13.  
  14. if [[ -e /etc/os-release ]] && . /etc/os-release 2>/dev/null; then
  15. DIST=${ID,,}
  16. elif [[ -e /etc/lsb-release ]] && . /etc/lsb-release 2>/dev/null; then
  17. DIST=${DISTRIB_ID,,}
  18. fi
  19.  
  20. UPT=$(uptime -p)
  21. UPT=${UPT/up /}
  22. UPT=${UPT/ minute?/m}
  23. UPT=${UPT/ hour?/h}
  24. UPT=${UPT/ day?/d}
  25.  
  26. if [[ -e /var/log/pacman.log ]]; then
  27. INST=$(head -n1 /var/log/pacman.log)
  28. INST=${INST/ */}
  29. INST=${INST/\[/}
  30. fi
  31.  
  32. SHLL=$(basename "$SHELL")
  33. TRM=${TERM/-256color/}
  34. HOST=${HOST:-$(hostname)}
  35. KERN=${KERN:-$(uname -r)}
  36. KERN=${KERN/-*/}
  37.  
  38. MEM=$(free -m | awk 'NR==2 {printf $3}')
  39. if (( MEM > 1000 )); then
  40. MEM=$(python -c "print('{:.2f}G'.format($MEM / 1000))")
  41. else
  42. MEM="${MEM}M"
  43. fi
  44.  
  45. CPU=$(top -bn 1)
  46. CPU=${CPU%% us,*}
  47. CPU="${CPU##*): }%"
  48.  
  49. rep_char() { str="$(printf "%${1:-20}s")" && echo "${str// /${2:-=}}"; }
  50.  
  51. pkg_cnt() { pacman -Qq 2>/dev/null | wc -l; }
  52.  
  53. cur_wm() {
  54. if [[ $DISPLAY && ! $WM ]]; then
  55. ID="$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)"
  56. WM="$(xprop -id ${ID##* } -notype -len 100 -f _NET_WM_NAME 8t)"
  57. WM=${WM/*WM_NAME = } WM=${WM/\"} WM=${WM/\"*} WM=${WM,,}
  58. echo "${WM:-$FB}"
  59. else
  60. echo "${WM:-tty${TTY:9}}"
  61. fi
  62. }
  63. # comment during speed tests
  64. clear
  65.  
  66. # print everything out
  67. cat <<- EOF
  68. ${FG4} 'c'
  69. ${FG4} 'kKk, $FG5--->$FG $FG4$USER$FG2@$FG6$HOSTN
  70. ${FG4} .dKKKx. $FG5$(rep_char $((${#USER} + 9 + ${#HOSTN})) "-")>
  71. ${FG4} .oKXKXKd.
  72. ${FG4} .l0XXXXKKo. $FG6->$FG terminal$FG1: $FG4$(sed 's/-256color//g' <<< "$TERM")
  73. ${FG4} c0KXXXXKX0l. $FG6->$FG current wm$FG1: $FG4$(cur_wm)
  74. ${FG4} :0XKKOxxOKX0l. $FG6->$FG login shell$FG1: $FG4$(basename "$SHELL")
  75. ${FG4} :OXKOc. .c0XX0l. $FG6->$FG total pkgs$FG1: $FG4$(pacman -Qq | wc -l)
  76. ${FG4} :OK0o. ${FG1}...${FG4}'dKKX0l. $FG6->$FG linux kernel$FG1: $FG4$(uname -r | cut -d "-" -f1)
  77. ${FG4} :OX0c ${FG1};xOx'${FG4}'dKXX0l. $FG6->$FG distribution$FG1: $FG4${DIST}
  78. ${FG4} :0KKo.${FG1}.o0XXKd'.${FG4}lKXX0l. $FG6->$FG total uptime$FG1: $FG4${UPT}
  79. ${FG4} c0XKd.${FG1}.oKXXXXKd..${FG4}oKKX0l. $FG6->$FG memory$FG1: $FG4${MEM:-$FB}
  80. ${FG4} .c0XKk;${FG1}.l0K0OO0XKd..${FG4}oKXXKo. $FG6->$FG processor$FG1: $FG4${CPU:-$FB}
  81. ${FG4} .l0XXXk:${FG1},dKx,.'l0XKo.${FG4}.kXXXKo.
  82. ${FG4} .o0XXXX0d,${FG1}:x; .oKKx'${FG4}.dXKXXKd.
  83. ${FG4} .oKXXXXKK0c.${FG1};. :00c'${FG4}cOXXXXXKd.
  84. ${FG4} .dKXXXXXXXXk,${FG1}. cKx'${FG4}'xKXXXXXXKx'
  85. ${FG4} 'xKXXXXK0kdl:. ${FG1}.ok; ${FG4}.cdk0KKXXXKx' $FG1████$FG2████$FG3████$FG4████$FG5████$FG6████$FG7████
  86. ${FG4} 'xKK0koc,.. ${FG1}'c, ${FG4} ..,cok0KKk,
  87. ${FG4} ,xko:'. ${FG1}.. ${FG4} .':okx;
  88. ${FG4} .,'. .',.${FG}
  89.  
  90. EOF
  91.  
  92. # uncomment for speed test
  93. # END=$(date +%S.%N)
  94. # TOTAL=$(bc <<< "$END - $START")
  95. # echo -e "\n\nStart: $START Seconds\nEnd: $END Seconds\n\nTook $TOTAL Seconds"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement