mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 18:10:56 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef shutdown
 | |
| 
 | |
| local -a args
 | |
| 
 | |
| if [[ -d /etc/systemd ]]; then
 | |
|   _arguments \
 | |
|     '--help[display usage information]' \
 | |
|     '(-H --halt)'{-H,--halt}'[halt the machine]' \
 | |
|     '(-P --poweroff -h)'{-P,--poweroff,-h}'[power-off the machine (default)]' \
 | |
|     '(-r --reboot)'{-r,--reboot}'[reboot the machine]' \
 | |
|     "(--no-wall)-k[don't shutdown, just write wall message]" \
 | |
|     "(-k)--no-wall[don't send a wall message]" \
 | |
|     '-c[cancel pending shutdown]' \
 | |
|     '1: :_guard "^-*" "time (now/hh\:mm/+mins)"' \
 | |
|     '*:warning message'
 | |
|   return
 | |
| fi
 | |
| 
 | |
| case $OSTYPE in
 | |
|   *bsd*|dragonfly*|linux*|darwin*)
 | |
|     args=(
 | |
|       '-h[halt the system after shutdown]'
 | |
|       '-r[reboot the system]'
 | |
|       '-k[kick everybody off]'
 | |
|       '-n[prevent file system cache from being flushed]'
 | |
|       '1: :_guard "^-*" "time (now/hh\:mm/+mins)"'
 | |
|       '*:warning message'
 | |
|     )
 | |
|   ;|
 | |
|   *bsd*|dragonfly*)
 | |
|     args+=(
 | |
|       '-p[turn off power after shutdown]'
 | |
|     )
 | |
|   ;|
 | |
|   (net|open)bsd*)
 | |
|     args+=(
 | |
|       '-d[cause system to perform a dump]'
 | |
|       '-f[create /fastboot so that file systems will not be checked during the next boot]'
 | |
|     )
 | |
|   ;|
 | |
|   freebsd*|dragonfly*)
 | |
|     args+=(
 | |
|       '-o[execute halt or reboot instead of sending a signal to init]'
 | |
|     )
 | |
|   ;|
 | |
|   freebsd<12->.*)
 | |
|     args+=(
 | |
|       '-c[power cycle the system instead of halting if possible]'
 | |
|     )
 | |
|   ;;
 | |
|   netbsd*)
 | |
|     args+=(
 | |
|       '-b[specify boot string to pass to reboot]:boot string'
 | |
|       '-v[enable verbose console messages]'
 | |
|       '-x[enable debug console messages]'
 | |
|       '-z[silence some console messages]'
 | |
|       '-D[prevent shutdown from detaching from the tty]'
 | |
|     )
 | |
|   ;;
 | |
|   darwin*)
 | |
|     args+=(
 | |
|       '-o[execute halt or reboot instead of sending a signal to launchd]'
 | |
|       '-s[put the system to sleep]'
 | |
|       '-u[with -h, wait 5 minutes before removing power]'
 | |
|     )
 | |
|   ;;
 | |
|   solaris2.<11->) args=( '(-i)-r[reboot]' ) ;&
 | |
|   solaris*)
 | |
|     args+=(
 | |
|       '(-r)-i+[specify init-state]:init state:((0\:stop 1\:administrative s\:single\ user 5 6\:reboot))'
 | |
|       '-y[pre-answer yes to confirmation question]'
 | |
|       '-g+[specify grace period]:grace period (seconds) [60]'
 | |
|     )
 | |
|   ;;
 | |
| esac
 | |
| 
 | |
| _arguments $args
 |