22 lines
		
	
	
		
			667 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			667 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| [ -f functions.sh ] && source functions.sh
 | |
| 
 | |
| # Dependencies required by this module
 | |
| dependencies=("fortune")
 | |
| 
 | |
| target="${3#fortune}"
 | |
| # Trim leading/trailing whitespace
 | |
| target="${target#"${target%%[![:space:]]*}"}"
 | |
| target="${target%"${target##*[![:space:]]}"}"
 | |
| 
 | |
| # Check dependencies before running
 | |
| if ! check_dependencies "${dependencies[@]}"; then
 | |
|     msg "$2" "$1: This module requires: ${dependencies[*]}"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Quote target to prevent command injection
 | |
| fortuneText="$(fortune -a -e -s -n 512 "$target" || echo "No fortunes found.")"
 | |
| fortuneText="$(echo "$fortuneText" | tr '[:space:]' ' ' | sed -e 's/"/\"/g')"
 | |
| msg "$2" "$fortuneText"
 |