#!/usr/bin/env bash BASHRC="$HOME/.bashrc" BACKUP="$HOME/.bashrc.backup.$(date +%F-%H%M%S)" cp "$BASHRC" "$BACKUP" NEW_PS1='\[$(tput bold)\]\[\033[38;5;11m\]\u\[$(tput sgr0)\]@\[$(tput sgr0)\]\[$(tput bold)\]\[\033[38;5;9m\]\H\[$(tput sgr0)\] \[$(tput sgr0)\]\[\033[38;5;6m\][\w]\[$(tput sgr0)\]:\\$ \[$(tput sgr0)\]' TMP=$(mktemp) while IFS= read -r line; do if [[ $line =~ ^[[:space:]]*PS1= ]]; then indent=$(echo "$line" | grep -o '^[[:space:]]*') echo "${indent}PS1='$NEW_PS1'" >> "$TMP" else echo "$line" >> "$TMP" fi done < "$BASHRC" mv "$TMP" "$BASHRC" echo ".bashrc updated. Backup saved to $BACKUP. Run: source ~/.bashrc to apply changes now."