/
githubmirror
/
bash-completion
Обзор
Документация
Войти
/
githubmirror
/
bash-completion
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.11
completions/sudo
56 строк
1 KB
Ville Skyttä
*: avoid more errors in nounset mode
21 май 2020, 23:46
21 май 2020, 23:46
d0a0eb5
Код
Авторство
О чём код?
# bash completion for sudo(8) -*- shell-script -*- _sudo() { local cur prev words cword split _init_completion -s || return local i mode=normal [[ $1 == *sudoedit ]] && mode=edit [[ $mode == normal ]] && for ((i = 1; i <= cword; i++)); do if [[ ${words[i]} != -* ]]; then local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin local root_command=${words[i]} _command_offset $i return fi if [[ ${words[i]} == -@(!(-*)e*|-edit) ]]; then mode=edit break fi [[ ${words[i]} == \ -@(user|other-user|group|close-from|prompt|!(-*)[uUgCp]) ]] && ((i++)) done case "$prev" in --user | --other-user | -!(-*)[uU]) COMPREPLY=($(compgen -u -- "$cur")) return ;; --group | -!(-*)g) COMPREPLY=($(compgen -g -- "$cur")) return ;; --close-from | --prompt | -!(-*)[Cp]) return ;; esac $split && return if [[ $cur == -* ]]; then local opts=$(_parse_help "$1") COMPREPLY=($(compgen -W '${opts:-$(_parse_usage "$1")}' -- "$cur")) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace return fi if [[ $mode == edit ]]; then _filedir fi } && complete -F _sudo sudo sudoedit # ex: filetype=sh