diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/_shutdown | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_shutdown b/Completion/Unix/Command/_shutdown new file mode 100644 index 000000000..1ac6e61ba --- /dev/null +++ b/Completion/Unix/Command/_shutdown @@ -0,0 +1,61 @@ +#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*) + args=( + '-h[halt the system after shutdown]' + '-p[turn off power 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' + ) + ;| + (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]' + ) + ;; + 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]' + ) + ;; + 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 |