#!/bin/sh # Author: Bandie # Copyright: Bandie, 2019, GNU-GPLv3 set -e ## Get params from /etc/default/grub OWNER=$(cat /etc/default/grub | egrep "^OWNER=.*$" | sed "s/.*=\(.*\)/\1/;s/\"//g;s/'//g") OWNER_TIMEOUT=$(cat /etc/default/grub | egrep "^OWNER_TIMEOUT=.*$" | sed "s/.*=\(.*\)/\1/;s/\"//g;s/'//g") ## Check if OWNER is set if [ -z "$OWNER" ]; then echo "/etc/default/grub: No OWNER set." >&2 exit 0 fi ## Notify user about ownership echo "Show ==> $OWNER <== as owner" >&2 ## Generate spaces in case if the owner has a very short name for ((i=${#OWNER}; i<6; i++)); do NSP="$NSP " done ## Generate border around the owner message B="##########" for ((i=6; i<${#OWNER}; i++)); do B="${B}#" SPACE="$SPACE " done ## Check if OWNER_TIMEOUT is set. If not, default 5 if ! [[ $OWNER_TIMEOUT =~ ^[0-9]+$ ]]; then OWNER_TIMEOUT=5 echo "/etc/default/grub: No OWNER_TIMEOUT set. Using default: 5 seconds." >&2 fi ## Write it into the grub.cfg cat << EOF echo "" echo "$B" echo "# Owner: ${SPACE}#" echo "# $OWNER $NSP#" echo "$B" echo "" echo "" sleep -i $OWNER_TIMEOUT EOF