#!/bin/bash # Set color variables for the welcome text based on the current user if [ "$USER" = "root" ]; then HEADER_COLOR="\033[1;31m" # Bold red for root elif [ "$USER" = "administrator" ]; then HEADER_COLOR="\033[1;38;5;208m" # Bold orange for administrator else HEADER_COLOR="\033[1;33m" # Bold yellow for other users fi RESET_COLOR="\033[0m" # Color code for the hostname (set to green, bold, underlined, and blinking) HOSTNAME_COLOR="\[\033[1;4;5;32m\]" # Print welcome message echo -e "${HEADER_COLOR}Welcome, $USER on ${HOSTNAME_COLOR}$HOSTNAME!${RESET_COLOR}" echo "" echo -e "${HEADER_COLOR}Today is $(date +"%A, %d.%m.%Y %T")${RESET_COLOR}" echo "" # System Load (shows load averages and uptime) echo -e "${HEADER_COLOR}System Load:${RESET_COLOR}" uptime echo "" # Memory Usage (RAM and swap) echo -e "${HEADER_COLOR}Memory Usage:${RESET_COLOR}" free -h echo "" # Disk Usage echo -e "${HEADER_COLOR}Disk Usage:${RESET_COLOR}" df -h echo "" # CPU Information (e.g., model name) echo -e "${HEADER_COLOR}CPU Information:${RESET_COLOR}" lscpu | grep "Model name" echo "" # Top 5 Processes by CPU Usage echo -e "${HEADER_COLOR}Top 5 Processes by CPU Usage:${RESET_COLOR}" ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6 echo "" # Set aliases for colored output for ls and grep alias ls='ls --color=auto' alias grep='grep --color=auto' # --- Prompt Configuration --- # Define color codes for the username in the prompt based on the current user if [ "$USER" = "root" ]; then PROMPT_USER_COLOR="\[\033[4;5;1;31m\]" # Underlined, bold red for root elif [ "$USER" = "administrator" ]; then PROMPT_USER_COLOR="\[\033[4;38;5;208m\]" # Underlined, bold orange for administrator else PROMPT_USER_COLOR="\[\033[33m\]" # yellow for other users fi # Reset code for the prompt (must be wrapped in \[ \]) PROMPT_RESET="\[\033[0m\]" # Configure PS1: username, hostname in green, time and current directory PS1="${PROMPT_USER_COLOR}\u${PROMPT_RESET}@${HOSTNAME_COLOR}\h${PROMPT_RESET} \[\033[90m\]\$(date +%H:%M:%S)\[\033[0m\]:\[\033[38;5;13m\]\w ${PROMPT_RESET}\$ "