mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			862 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			862 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
() {
 | 
						|
  # %x: name of file containing code being executed
 | 
						|
  local fortunes_dir="${${(%):-%x}:h}/fortunes"
 | 
						|
 | 
						|
  # Aliases
 | 
						|
  alias chuck="fortune -a $fortunes_dir"
 | 
						|
  alias chuck_cow="chuck | cowthink"
 | 
						|
 | 
						|
  # Automatically generate or update Chuck's compiled fortune data file
 | 
						|
  if [[ "$fortunes_dir/chucknorris" -ot "$fortunes_dir/chucknorris.dat" ]]; then
 | 
						|
    return
 | 
						|
  fi
 | 
						|
 | 
						|
  # For some reason, Cygwin puts strfile in /usr/sbin, which is not on the path by default
 | 
						|
  local strfile="${commands[strfile]:-/usr/sbin/strfile}"
 | 
						|
  if [[ ! -x "$strfile" ]]; then
 | 
						|
    echo "[oh-my-zsh] chucknorris depends on strfile, which is not installed" >&2
 | 
						|
    echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2
 | 
						|
    return
 | 
						|
  fi
 | 
						|
 | 
						|
  # Generate the compiled fortune data file
 | 
						|
  $strfile "$fortunes_dir/chucknorris" "$fortunes_dir/chucknorris.dat" >/dev/null
 | 
						|
}
 |