Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # extremely simple system info script written for bash 4+
- # fallback
- FB="unknown"
- # colours
- FG=$'\e[0m'
- for n in {0..7}; do
- printf -v FG${n} "%b" "\e[3${n}m"
- done
- if [[ -e /etc/os-release ]] && . /etc/os-release 2>/dev/null; then
- DIST=${ID,,}
- elif [[ -e /etc/lsb-release ]] && . /etc/lsb-release 2>/dev/null; then
- DIST=${DISTRIB_ID,,}
- fi
- UPT=$(uptime -p)
- UPT=${UPT/up /}
- UPT=${UPT/ minute?/m}
- UPT=${UPT/ hour?/h}
- UPT=${UPT/ day?/d}
- if [[ -e /var/log/pacman.log ]]; then
- INST=$(head -n1 /var/log/pacman.log)
- INST=${INST/ */}
- INST=${INST/\[/}
- fi
- SHLL=$(basename "$SHELL")
- TRM=${TERM/-256color/}
- HOST=${HOST:-$(hostname)}
- KERN=${KERN:-$(uname -r)}
- KERN=${KERN/-*/}
- MEM=$(free -m | awk 'NR==2 {printf $3}')
- if (( MEM > 1000 )); then
- MEM=$(python -c "print('{:.2f}G'.format($MEM / 1000))")
- else
- MEM="${MEM}M"
- fi
- CPU=$(top -bn 1)
- CPU=${CPU%% us,*}
- CPU="${CPU##*): }%"
- rep_char() { str="$(printf "%${1:-20}s")" && echo "${str// /${2:-=}}"; }
- pkg_cnt() { pacman -Qq 2>/dev/null | wc -l; }
- cur_wm() {
- if [[ $DISPLAY && ! $WM ]]; then
- ID="$(xprop -root -notype _NET_SUPPORTING_WM_CHECK)"
- WM="$(xprop -id ${ID##* } -notype -len 100 -f _NET_WM_NAME 8t)"
- WM=${WM/*WM_NAME = } WM=${WM/\"} WM=${WM/\"*} WM=${WM,,}
- echo "${WM:-$FB}"
- else
- echo "${WM:-tty${TTY:9}}"
- fi
- }
- # comment during speed tests
- clear
- # print everything out
- cat <<- EOF
- ${FG4} 'c'
- ${FG4} 'kKk, $FG5--->$FG $FG4$USER$FG2@$FG6$HOSTN
- ${FG4} .dKKKx. $FG5$(rep_char $((${#USER} + 9 + ${#HOSTN})) "-")>
- ${FG4} .oKXKXKd.
- ${FG4} .l0XXXXKKo. $FG6->$FG terminal$FG1: $FG4$(sed 's/-256color//g' <<< "$TERM")
- ${FG4} c0KXXXXKX0l. $FG6->$FG current wm$FG1: $FG4$(cur_wm)
- ${FG4} :0XKKOxxOKX0l. $FG6->$FG login shell$FG1: $FG4$(basename "$SHELL")
- ${FG4} :OXKOc. .c0XX0l. $FG6->$FG total pkgs$FG1: $FG4$(pacman -Qq | wc -l)
- ${FG4} :OK0o. ${FG1}...${FG4}'dKKX0l. $FG6->$FG linux kernel$FG1: $FG4$(uname -r | cut -d "-" -f1)
- ${FG4} :OX0c ${FG1};xOx'${FG4}'dKXX0l. $FG6->$FG distribution$FG1: $FG4${DIST}
- ${FG4} :0KKo.${FG1}.o0XXKd'.${FG4}lKXX0l. $FG6->$FG total uptime$FG1: $FG4${UPT}
- ${FG4} c0XKd.${FG1}.oKXXXXKd..${FG4}oKKX0l. $FG6->$FG memory$FG1: $FG4${MEM:-$FB}
- ${FG4} .c0XKk;${FG1}.l0K0OO0XKd..${FG4}oKXXKo. $FG6->$FG processor$FG1: $FG4${CPU:-$FB}
- ${FG4} .l0XXXk:${FG1},dKx,.'l0XKo.${FG4}.kXXXKo.
- ${FG4} .o0XXXX0d,${FG1}:x; .oKKx'${FG4}.dXKXXKd.
- ${FG4} .oKXXXXKK0c.${FG1};. :00c'${FG4}cOXXXXXKd.
- ${FG4} .dKXXXXXXXXk,${FG1}. cKx'${FG4}'xKXXXXXXKx'
- ${FG4} 'xKXXXXK0kdl:. ${FG1}.ok; ${FG4}.cdk0KKXXXKx' $FG1████$FG2████$FG3████$FG4████$FG5████$FG6████$FG7████
- ${FG4} 'xKK0koc,.. ${FG1}'c, ${FG4} ..,cok0KKk,
- ${FG4} ,xko:'. ${FG1}.. ${FG4} .':okx;
- ${FG4} .,'. .',.${FG}
- EOF
- # uncomment for speed test
- # END=$(date +%S.%N)
- # TOTAL=$(bc <<< "$END - $START")
- # echo -e "\n\nStart: $START Seconds\nEnd: $END Seconds\n\nTook $TOTAL Seconds"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement