dotfiles/.config/shell/welcome
2026-09-29 13:10:15 +02:00

51 lines
941 B
Shell

#!/bin/sh
# Show system info each time a shell is started ...
# ... except:
[ -t 1 ] || return # If stdout is not a terminal
[ "${TERM:-}" = "dumb" ] && return # For tools opening shells (e.g., `emacs`)
_hostname=$(uname -n)
_os="$(uname -s) $(uname -r)"
_user=$(whoami)
_work_dir=$(echo "$PWD" | sed "s|^$HOME|~|")
if [ "$(id -u)" -eq 0 ]; then
_prompt="#"
else
_prompt="$"
fi
if [ -n "${SSH_CLIENT:-}" ] || [ -n "${SSH_TTY:-}" ]; then
_remote=" ssh"
else
_remote=" local"
fi
if _in_bash; then
_shell_type="bash"
elif _in_zsh; then
_shell_type="zsh"
else
_shell_type="non-bash/zsh shell"
fi
_info_line="$_user@$_hostname:$_work_dir$_prompt$_remote $_os $_shell_type"
_sep_line=$(echo "$_info_line" | sed 's/./─/g')
echo ""
echo "$_sep_line"
echo "$_info_line"
echo "$_sep_line"
echo ""
unset _hostname _os _user _work_dir _prompt _remote _shell_type _info_line _sep_line