Files
general-scripts-and-system-…/customscripts/notify-shell-users.sh
T
2026-05-18 11:49:09 -06:00

44 lines
1.2 KiB
Bash

#!/bin/bash
if [ -z "$1" ]; then
msg="SHIT'S GOIN ON RN"
else
msg="$1"
fi
broadcast_pty() {
# Check if a message was provided
if [ -z "$1" ]; then
echo "Usage: broadcast_pty \"Your message here\"" >&2
return 1
fi
# Check for root/sudo privileges (required to write to other users' PTYs)
if [ "$EUID" -ne 0 ]; then
echo "Error: This function must be run as root or with sudo." >&2
return 1
fi
local message="$1"
local timestamp
timestamp=$(date +"%H:%M:%S")
echo "Broadcasting message to all active terminals..."
# Loop through all numeric entries in /dev/pts/
for pty in /dev/pts/[0-9]*; do
# Ensure it's an actual character device file before writing
if [ -c "$pty" ]; then
# Send the message with a clear broadcast banner
{
echo -e "\033[31m"
echo -e "=== PRINCESS BROADCAST SYSTEM ($timestamp) ==="
echo -e "$message"
echo -e "====================================="
echo -e "\e[0m"
} > "$pty" 2>/dev/null
fi
done
}
# needz root to write to other peoplez ptys
sudo broadcast_pty "$msg"