Bashskript Kleiner Systemfetcher

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
dasebastian
Beiträge: 2137
Registriert: 12.07.2020 11:21:17

Bashskript Kleiner Systemfetcher

Beitrag von dasebastian » 31.08.2020 10:01:29

Hallo an Alle, habe mir da als Spielerei einen kleinen Fetcher aus 2 anderen Quellen zusammengeschustert, der ganz hübsch geworden ist, finde ich. Vielleicht interessiert's jemanden.

Das OS ist händisch einzutragen, bei Debian Stable ist das ja kein Thema...

Hier der Code:

Code: Alles auswählen

#!/bin/sh

# ufetch-debian - tiny system info for debian
# Qellen: https://github.com/jschx/ufetch/ und https://gitlab.com/dwt1/shell-color-scripts/-/blob/master/colorscripts/spectrum
# OS selber eintragen!

## INFO

# user is already defined
host="$(hostname)"
os='Debian GNU/Linux 10 (buster)'
kernel="$(uname -sr)"
uptime="$(uptime -p | sed 's/up //')"
packages="$(dpkg -l | wc -l)"
shell="$(basename ${SHELL})"
RAM="$(free -h | awk '/^Mem:/ {print $3 "/" $2}')"

if [ -z "${WM}" ]; then
	if [ "${XDG_CURRENT_DESKTOP}" ]; then
		envtype='DE'
		WM="${XDG_CURRENT_DESKTOP}"
	elif [ "${DESKTOP_SESSION}" ]; then
		envtype='DE'
		WM="${DESKTOP_SESSION}"
	else
		envtype='WM'
		WM="$(tail -n 1 "${HOME}/.xinitrc" | cut -d ' ' -f 2)"
	fi
else
	envtype='WM'
fi

## DEFINE COLORS

# probably don't change these
bold="$(tput bold)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
reset="$(tput sgr0)"

# you can change these
lc="${reset}${bold}${red}"		# labels
nc="${reset}${bold}${red}"		# user and hostname
ic="${reset}${bold}${black}"	# info
c0="${reset}${bold}${blue}"		# first color
c1="${reset}${red}"				# second color

## OUTPUT

cat <<EOF

${c0}    _____    ${lc}${USER}${ic}@${lc}${host}${reset}
${c0}   /  __ \\   ${lc}OS:        ${ic}${os}${reset}
${c0}  |  /    |  ${lc}KERNEL:    ${ic}${kernel}${reset}
${c0}  |  ${c0}\\___-   ${lc}UPTIME:    ${ic}${uptime}${reset}
${c0}  -_         ${lc}PACKAGES:  ${ic}${packages}${reset}             ${lc}SHELL: ${ic}${shell}${reset}
${c0}    --_      ${lc}${envtype}:        ${ic}${WM}${reset}
${c0}             ${lc}RAM:       ${ic}${RAM}${reset}

EOF

for f in {0..9}; do
	echo -en "\033[$((f+41))m\033[$((f+30))m██▓▒░"
done
echo -en "\033[37m██\n"

for f in {0..9}; do
	echo -en "\033[$((f+41))m\033[1;$((f+30))m██▓▒░"
done
echo -en "\033[1;37m██"

echo -e "\033[0m"
echo

# EOF
Das ganze liegt jetzt als Alias und "Autostart" bei mir in der home-bashrc.

2785

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Bashskript Kleiner Systemfetcher

Beitrag von Tintom » 31.08.2020 13:56:22

dasebastian hat geschrieben: ↑ zum Beitrag ↑
31.08.2020 10:01:29
Das OS ist händisch einzutragen, bei Debian Stable ist das ja kein Thema...
Wenn du /etc/os-release auswertest, brauchst du auch nichts mehr händisch eintragen :wink:

dasebastian
Beiträge: 2137
Registriert: 12.07.2020 11:21:17

Re: Bashskript Kleiner Systemfetcher

Beitrag von dasebastian » 31.08.2020 16:48:28

Danke dir, ich war da noch zu faul dazu, mir das wo raus zu suchen....

Benutzeravatar
MSfree
Beiträge: 11610
Registriert: 25.09.2007 19:59:30

Re: Bashskript Kleiner Systemfetcher

Beitrag von MSfree » 31.08.2020 17:31:18

Das sieht mir stark nach eine Remake von Debianscreenfetch aus. :wink:

siehe auch hier:
https://madb.mageia.org/package/show/ap ... creenfetch

Benutzeravatar
hikaru
Moderator
Beiträge: 13911
Registriert: 09.04.2008 12:48:59

Re: Bashskript Kleiner Systemfetcher

Beitrag von hikaru » 31.08.2020 22:51:37

MSfree hat geschrieben: ↑ zum Beitrag ↑
31.08.2020 17:31:18
Das sieht mir stark nach eine Remake von Debianscreenfetch aus. :wink:
... oder Debianinxi ;)

dasebastian
Beiträge: 2137
Registriert: 12.07.2020 11:21:17

Re: Bashskript Kleiner Systemfetcher

Beitrag von dasebastian » 01.09.2020 09:24:01

Das Zeug gibt's eh wie Sand am Meer, ich werfe da auch noch Debianneofetch in die Runde. Das ist halt kleiner und poppt sofort auf, neofetch braucht da einen Fingerschnipp.

Antworten