mirror of
				https://git.proxmox.com/git/systemd
				synced 2025-10-31 14:02:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #compdef timedatectl                    -*- shell-script -*-
 | |
| # SPDX-License-Identifier: LGPL-2.1+
 | |
| 
 | |
| _timedatectl_set-timezone(){
 | |
|     local -a _timezones
 | |
|     _timezones=( ${(f)"$(_call_program timezones "${service}" list-timezones)"} )
 | |
|     compadd "$_timezones[@]"
 | |
| }
 | |
| 
 | |
| _timedatectl_set-time(){
 | |
|     _message "YYYY-MM-DD HH:MM:SS"
 | |
| }
 | |
| 
 | |
| _timedatectl_set-local-rtc(){
 | |
|     local -a _options
 | |
|     _options=(
 | |
|         '0:Maintain RTC in universal time'
 | |
|         '1:Maintain RTC in local time'
 | |
|     )
 | |
|     _describe options _options
 | |
| }
 | |
| 
 | |
| _timedatectl_set-ntp(){
 | |
|     local -a _options
 | |
|     _options=(
 | |
|         '0:Disable NTP based network time configuration'
 | |
|         '1:Enable NTP based network time configuration'
 | |
|     )
 | |
|     _describe options _options
 | |
| }
 | |
| 
 | |
| _timedatectl_command(){
 | |
|     local -a _timedatectl_cmds
 | |
|     _timedatectl_cmds=(
 | |
|         'status:Show current time settings'
 | |
|         'set-time:Set system time'
 | |
|         'set-timezone:Set system timezone'
 | |
|         'list-timezones:Show known timezones'
 | |
|         'set-local-rtc:Control whether RTC is in local time'
 | |
|         'set-ntp:Control whether NTP is enabled'
 | |
|     )
 | |
|     if (( CURRENT == 1 )); then
 | |
|         _describe -t commands 'timedatectl command' _timedatectl_cmds
 | |
|     else
 | |
|         local curcontext="$curcontext"
 | |
|         cmd="${${_timedatectl_cmds[(r)$words[1]:*]%%:*}}"
 | |
|         if (( $#cmd )); then
 | |
|             if (( $+functions[_timedatectl_$cmd] )); then
 | |
|                 _timedatectl_$cmd
 | |
|             else
 | |
|                 _message "no more options"
 | |
|             fi
 | |
|         else
 | |
|             _message "unknown timedatectl command: $words[1]"
 | |
|         fi
 | |
|     fi
 | |
| }
 | |
| 
 | |
| _arguments -s \
 | |
|     {-h,--help}'[Show this help]' \
 | |
|     '--version[Show package version]' \
 | |
|     '--adjust-system-clock[Adjust system clock when changing local RTC mode]' \
 | |
|     '--no-pager[Do not pipe output into a pager]' \
 | |
|     '--no-ask-password[Do not prompt for password]' \
 | |
|     {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
 | |
|     {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
 | |
|     '*::timedatectl commands:_timedatectl_command'
 | 
