#!/usr/bin/env bash
deps=("bc" "xdg-settings" "xrandr" "lolcat")
for i in ${deps[@ ]}; do
if [[ ! $(which $i 2>/dev/null) ]]; then
echo "Need install: $i."
exit 1
fi
done
usage(){
cat <<EOF
MyFetch - Show info system and logo system in ASCII
-h, --help Show help
-v, --version Show version
* Version beta 1.0
EOF
}
# colors
g=$(echo -e '\e[36;1m'); y=$(echo -e '\e[32;1m'); o=$(echo -e '\e[m'); p=$(echo -e '\e[m')
display_info(){
d_title=$USER@ $HOSTNAME
d=$(lsb_release -is)
d_os=$(uname -o)
d_kname=$(cat /proc/sys/kernel/ostype)
d_kversion=$(cat /proc/sys/kernel/osrelease)
d_uptime=$(uptime | awk '{print $3}' | tr -d ,)" min"
d_shell=$(basename $SHELL)
d_res=$(xrandr | sed -n '1p' | sed 's/.*current.//g;s/,.*//g;s/ //g')
d_desk=$XDG_SESSION_DESKTOP
d_font=$(fc-match | sed 's/\..*//g')
d_cpu=$(cat /proc/cpuinfo | grep -o 'model name.*' | sed -n 1p | sed 's/.*:.//g;s/(.*)//g')
d_mem=$(free --giga | head -n2 | tail -n1 | awk '{print $2}')" GB"
d_memfree=$(free --giga | head -n2 | tail -n1 | awk '{print $3}')" GB"
d_arch=$(getconf LONG_BIT)"-bit"
d_browser=$(xdg-settings get default-web-browser | sed 's/userapp-//g;s/-.*//g;s/\..*//g')
d_char=$(expr length "$d_title"); qtd=
for i in $(seq 1 $d_char); do
qtd="$qtd─"
done
}
set_info(){
display_info
cat <<EOF
$d_title
$qtd
Distro: ${d^}
OS: $d_os
Kernel Name: $d_kname
Kernel Version: $d_kversion
Uptime: $d_uptime
Shell: ${d_shell^}
Resolution: $d_res
Desk: $d_desk
Font: $d_font
CPU: $d_cpu
RAM: $d_mem
Mem Free: $d_memfree
Architeture: $d_arch
Browser default: ${d_browser^}
EOF
}
display_info
d=${d,,}
biglinux="
'xXMMNx.
.OMMMMMMMW;
.xXXk. .NMMMMOl:l0M'
o WMMMMO KMMM0. :0
'K OMMM0. ;MMMO . ;
xN . .:dc. dMMW. dWMMo
XM' lNMMXd. 'MMMW.oMMO :NMMMMM:
NMK.'KMMMx'NW:.MMMM,.NMk kMMMNNMM0
0MMMMMMN, 0MM.oMMM0 .KWdNMMWc kMX
'MMMMMx XMMl :NMMO. 'oOOo. .MO
,0Xx. ;MMMc ;kXN: Nc
d 'WMMM. K
Ok. .oWMMMo ,
.NMKOKMMMMMx
.KMMMMMMX;
;dkxo'
"
case "$(echo $d)" in
'biglinux') distro="$biglinux" ;;
*) distro="$biglinux" ;;
esac
if [[ "$1" ]]; then
while [[ "$1" ]]; do
case "$1" in
-h|--help) usage && exit 0 ;;
-v|--version) echo Version 1.0 && exit 0 ;;
*) echo "Invalid option" && exit 1 ;;
esac
shift
done
else
paste <(printf "%s" "$distro") <(printf "%s" "$(set_info)") | lolcat
fi
exit 0
Fiz um fetch para o BigLinux
só salvar esse código como arquivo big-fetch.sh
depois:
chmod +x big-fetch.sh
Precisa instalar o lolcat:
pamac install lolcat
Pronto! Só executar:
./big-fetch.sh
