Server IP : 103.119.228.120 / Your IP : 3.145.154.251 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/share/zsh/5.0.2/functions/ |
Upload File : |
#compdef initctl start stop restart reload status # Written by Bernhard Tittelbach # based on completion script by Mildred typeset -g -a -U _initctl_events_list _initctl_eventargs_list # run show-config -e and if possible parse out all events and KEY= argumnts # otherwise provide some common values _initctl_fillarray_events_args () { setopt extendedglob local showconfig="$(initctl show-config -e 2>| /dev/null)" if [[ -n "$showconfig" ]]; then _initctl_events_list=() _initctl_eventargs_list=() for cline in "${(f)showconfig}"; do if [[ "$cline" == (#s)\ \ (stop\ on|start\ on|emit)\ (#b)([[:alpha:]-_]##)(*)(#e) ]]; then _initctl_events_list+=($match[1]) # this is a bit tricky, we take the string right of the matched event # and parse for \sUPPERCASE=\S (in perl-re syntax) substrings until there are no more matches # since we can't do multiple matches, we concatenated the remaing strings and try again local stml="$match[2]" while [[ "$stml" == (#b)(*)\ ([[:upper:]_]##\=)[^[:space:]](#b)(*) ]]; do _initctl_eventargs_list+=($match[2]) stml="$match[1] $match[3]" done unset stml fi done else _initctl_events_list=( socket login-session-start desktop-session-start virtual-filesystems local-filesystems remote-filesystems all-swaps filesystem mounting mounted net-device-up start-portmap runlevel unmounted-remote-filesystems ) _initctl_eventargs_list=( PRIMARY_DEVICE_FOR_DISPLAY= EXIT_STATUS= EXIT_SIGNAL= RUNLEVEL= MOUNTPOINT= TYPE= INTERFACE= ) fi return 0 } # list all upstart jobs, i.e. all files in /etc/init/ _initctl_helper_jobs() { _path_files -W "/etc/init/" -g "*.conf(-.:r)" } # list events, generate array if necessary _initctl_known_events() { [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args _values "Event" "$_initctl_events_list[@]" } # list events, allow multiple choices, generate array if necessary _initctl_multiple_known_events() { [[ ${#_initctl_events_list} -eq 0 ]] && _initctl_fillarray_events_args _values -s "," "Events" "$_initctl_events_list[@]" } # list KEY= arguments, generate array if necessary _initctl_known_eventargs() { [[ ${#_initctl_eventargs_list} -eq 0 ]] && _initctl_fillarray_events_args _values "Argument Keys" "$_initctl_eventargs_list[@]" } # describe and offer commands for initctl, then call matching completion function _initctl_command() { local cmds cmds=( start:"Start jobs" stop:"Stop jobs" restart:"Restart jobs" reload:"Send SIGHUP to process instance" status:"Query status of jobs" list:"List known jobs" emit:"Emit an event" reload-configuration:"tell init to reload config files (generally inotify is used)" version:"Request the version of the init daemon" log-priority:"Change the minimum priority of log messages from the init daemon" show-config:"Show start/stop/emit for processes" check-config:"Find jobs than can't be started" help:"display list of commands" ) if (( CURRENT == 1 )); then _describe -t command "initctl Commands" cmds fi local cmd=$words[1] local curcontext="${curcontext%:*}:initctl-${cmd}" _call_function ret _initctl_${cmd_completion_funcs[${cmd}]-${cmd_completion_default}} } # completion for start/stop/restart/reload i.e. anything that take one job and multiple KEY= arguments's _initctl_startstop() { _arguments \ '--no-wait[do not wait for operation to complete before exiting]' \ "${common_args[@]}" \ ':Upstart Jobs:_initctl_helper_jobs' \ '*::Argument Keys:_initctl_known_eventargs' } # completion for anything that takes one job _initctl_argjob() { _arguments \ "${common_args[@]}" \ ':Upstart Jobs:_initctl_helper_jobs' \ '*::' } # completion for emit, providing options, one event and multiple KEY= arguments's _initctl_emit() { _arguments \ '--no-wait[do not wait for event to finish before exiting]' \ "${common_args[@]}" \ ':Events:_initctl_known_events' \ '*::Argument Keys:_initctl_known_eventargs' } # the fallback, just the options _initctl_basic() { _arguments \ "${common_args[@]}" } # completion for show-config, additional option and one job _initctl_show-config() { _arguments \ "(-e --enumerate)"{-e,--enumerate}"[enumerate emit lines]" \ "${common_args[@]}" \ '::Upstart Jobs:_initctl_helper_jobs' \ '*::' } # completion for show-config, additional options and one job _initctl_check-config() { _arguments \ "(-i --ignore-events)"{-i,--ignore-events}"[list of comma-separated events to ignore]:Events:_initctl_multiple_known_events" \ "(-w --warn)"{-w,--warn}"[treat any unknown jobs or events as error]" \ "${common_args[@]}" \ '::Upstart Jobs:_initctl_helper_jobs' \ '*::' } # after defining above functions, overwrite _initctl function so helper-functions are loaded only once _initctl() { local -a common_args common_args=( '--session[use D-Bus session bus to connect to init daemon (for testing)]' '--system[talk via DBUS system bus instead of socket]' '(-q --quiet)'{-q,--quiet}'[reduce output to errors only]' '(-v --verbose)'{-v,--verbose}'[increase output to include informational messages]' '--dest=[D-Bus name for init, defaults to com.ubuntu.Upstart]' '--help[display help and exit]' '--version[output version information and exit]' ) # map each initctl function to a completion function local -A cmd_completion_funcs cmd_completion_funcs=( start startstop stop startstop restart startstop reload startstop show-config show-config status argjob emit emit check-config check-config ) # define fallback completion function local cmd_completion_default=basic # depending on which command was used, call different completion funtions case $service in initctl) _arguments "${common_args[@]}" '*::Initctl Commands:_initctl_command' ;; start|stop|restart|reload|status) _call_function ret _initctl_${cmd_completion_funcs[${service}]-${cmd_completion_default}} ;; *) return 1 ;; esac } _initctl "$@"