mirror of
https://github.com/clearlinux/systemd-stable.git
synced 2026-09-05 13:11:32 +00:00
Parameters to hostnamectl command are not optional and should not be marked as such in the man page. (cherry picked from commit1ed7749564) (cherry picked from commitba838f7f9b)
61 lines
1.6 KiB
Plaintext
61 lines
1.6 KiB
Plaintext
#compdef hostnamectl
|
|
|
|
_hostnamectl_set-hostname() {
|
|
if (( CURRENT <= 3 )); then
|
|
_message "new hostname"
|
|
else
|
|
_message "no more options"
|
|
fi
|
|
}
|
|
|
|
_hostnamectl_set-icon-name() {
|
|
if (( CURRENT <= 3 )); then
|
|
_message "new icon name"
|
|
else
|
|
_message "no more options"
|
|
fi
|
|
}
|
|
|
|
_hostnamectl_set-chassis() {
|
|
if (( CURRENT <= 3 )); then
|
|
_chassis=( desktop laptop server tablet handset watch vm container )
|
|
_describe chassis _chassis
|
|
else
|
|
_message "no more options"
|
|
fi
|
|
}
|
|
|
|
_hostnamectl_command() {
|
|
local -a _hostnamectl_cmds
|
|
_hostnamectl_cmds=(
|
|
"status:Show current hostname settings"
|
|
"set-hostname:Set system hostname"
|
|
"set-icon-name:Set icon name for host"
|
|
)
|
|
if (( CURRENT == 1 )); then
|
|
_describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@"
|
|
else
|
|
local curcontext="$curcontext"
|
|
cmd="${${_hostnamectl_cmds[(r)$words[1]:*]%%:*}}"
|
|
if (( $#cmd )); then
|
|
if [[ $cmd == status ]]; then
|
|
_message "no options"
|
|
else
|
|
_hostnamectl_$cmd
|
|
fi
|
|
else
|
|
_message "unknown hostnamectl command: $words[1]"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
_arguments -s \
|
|
{-h,--help}'[Show this help]' \
|
|
'--version[Show package version]' \
|
|
'--transient[Only set transient hostname]' \
|
|
'--static[Only set static hostname]' \
|
|
'--pretty[Only set pretty hostname]' \
|
|
'--no-ask-password[Do not prompt for password]' \
|
|
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
|
|
'*::hostnamectl commands:_hostnamectl_command'
|