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
 |