46 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/zsh
 | 
						||
# Eryn Wells <eryn@erynwells.me>
 | 
						||
 | 
						||
MOTD_FILE=/etc/motd
 | 
						||
 | 
						||
binary_exists() {
 | 
						||
    hash $1 1>/dev/null 2>&1
 | 
						||
    return $?
 | 
						||
}
 | 
						||
 | 
						||
if [[ ! -w "$MOTD_FILE" ]]; then
 | 
						||
    echo "$MOTD_FILE is not wrtiable by $USER" >&2
 | 
						||
    exit 1
 | 
						||
fi
 | 
						||
 | 
						||
# If lolcat is installed, dump a colorful message to the MOTD file. :)
 | 
						||
local cat_program=cat
 | 
						||
local cat_args=''
 | 
						||
if binary_exists lolcat; then
 | 
						||
    echo "Enabling rainbows"
 | 
						||
    cat_program=lolcat
 | 
						||
    cat_args=-f
 | 
						||
fi
 | 
						||
 | 
						||
local hello_message="\nThis machine is called `hostname`.\n"
 | 
						||
 | 
						||
local hardware_model=`sysctl -n hw.model`
 | 
						||
 | 
						||
if [[ -n "$hardware_model" ]]; then
 | 
						||
    hello_message+="It’s a $hardware_model "
 | 
						||
fi
 | 
						||
 | 
						||
local os_version=`sysctl -n kern.osproductversion`
 | 
						||
local product_name=`sw_vers --productName`
 | 
						||
local os_build=`sw_vers --buildVersion`
 | 
						||
 | 
						||
if [[ -n "$os_version" && -n "$os_build" ]]; then
 | 
						||
    hello_message+="running $product_name $os_version ($os_build)."
 | 
						||
elif [[ -n "$os_version" ]]; then
 | 
						||
    hello_message+="running $product_name $os_version."
 | 
						||
fi
 | 
						||
 | 
						||
hello_message+="\n"
 | 
						||
 | 
						||
echo "Writing MOTD"
 | 
						||
print -P $hello_message | $cat_program $cat_args > $MOTD_FILE
 |