LINUX byDreamy postedJan 06, 2015

명령어 뒤의 옵션 자동완성 기능, complete 명령어



Prev이전 문서

Next다음 문서


+ - Up Down Comment Print

lunch 뒤에 옵션들을 자동으로 채워주는 예제.

# Tab completion for lunch.
function _lunch()
    local cur prev opts

    COMPREPLY=( $(compgen -W "${LUNCH_MENU_CHOICES[*]}" -- ${cur}) )
    return 0
complete -F _lunch lunch

[bash-completion] shell 자동 완성 기능 확장하기

complete -pr [name ...]
Specify how arguments to each name should be completed. If the -p option is supplied, or if no options are supplied, existing completion specifications are printed in a way that allows them to be reused as input. The -r option removes a completion specification for each name, or, if nonames are supplied, all completion specifications.

The process of applying these completion specifications when word completion is attempted is described above under Programmable Completion.

Other options, if specified, have the following meanings. The arguments to the -G-W, and -Xoptions (and, if necessary, the -P and -S options) should be quoted to protect them from expansion before the complete builtin is invoked.

-o comp-option
The comp-option controls several aspects of the compspec's behavior beyond the simple generation of completions. comp-option may be one of:
Use readline's default filename completion if the compspec generates no matches.
Perform directory name completion if the compspec generates no matches.
Tell readline that the compspec generates filenames, so it can perform any filename-specific processing (like adding a slash to directory names or suppressing trailing spaces). Intended to be used with shell functions.
Tell readline not to append a space (the default) to words completed at the end of the line.
-A action
The action may be one of the following to generate a list of possible completions:
Alias names. May also be specified as -a.
Array variable names.
Readline key binding names.
Names of shell builtin commands. May also be specified as -b.
Command names. May also be specified as -c.
Directory names. May also be specified as -d.
Names of disabled shell builtins.
Names of enabled shell builtins.
Names of exported shell variables. May also be specified as -e.
File names. May also be specified as -f.
Names of shell functions.
Group names. May also be specified as -g.
Help topics as accepted by the help builtin.
Hostnames, as taken from the file specified by the HOSTFILE shell variable.
Job names, if job control is active. May also be specified as -j.
Shell reserved words. May also be specified as -k.
Names of running jobs, if job control is active.
Service names. May also be specified as -s.
Valid arguments for the -o option to the set builtin.
Shell option names as accepted by the shopt builtin.
Signal names.
Names of stopped jobs, if job control is active.
User names. May also be specified as -u.
Names of all shell variables. May also be specified as -v.
-G globpat
The filename expansion pattern globpat is expanded to generate the possible completions.
-W wordlist
The wordlist is split using the characters in the IFS special variable as delimiters, and each resultant word is expanded. The possible completions are the members of the resultant list which match the word being completed.
-C command
command is executed in a subshell environment, and its output is used as the possible completions.
-F function
The shell function function is executed in the current shell environment. When it finishes, the possible completions are retrieved from the value of the COMPREPLYarray variable.
-X filterpat
filterpat is a pattern as used for filename expansion. It is applied to the list of possible completions generated by the preceding options and arguments, and each completion matching filterpat is removed from the list. A leading ! in filterpatnegates the pattern; in this case, any completion not matching filterpat is removed.
-P prefix
prefix is added at the beginning of each possible completion after all other options have been applied.
-S suffix
suffix is appended to each possible completion after all other options have been applied.

The return value is true unless an invalid option is supplied, an option other than -p or -ris supplied without a name argument, an attempt is made to remove a completion specification for a name for which no specification exists, or an error occurs adding a completion specification.

나눔글꼴 설치 안내

이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5