Как просмотреть функцию завершения вкладки для команды в bash?

Я в конечном итоге хочу псевдоним screen -r,

В основном я хочу сделать это, потому что у этой команды есть замечательная функция завершения табуляции, которая показывает мне текущие сеансы экрана GNU. Я хочу эту силу с псевдонимом.

Это заставило меня задать более общий вопрос. Как бы я просмотреть функцию завершения вкладки для команды screen -r или дальше какая-нибудь команда?

1 ответ

Решение

Итак, в этом вопросе происходит три разные вещи:

1) Чтобы посмотреть функцию завершения bash команды complete -p <command> делает трюк. В этом случае complete -p screen доходность complete -o default -F _screen screen

2) Завершение Bash будет принимать аргументы. В случае screen -r, screen Функция завершения bash вызывается с -r в качестве аргумента. После этого вы можете автоматически выполнить его автоматически.

3) На Ubuntu, /etc/bash_completion.d/screen определена функция завершения экрана.

Так как я псевдоним screen -r и сохранил функцию завершения работы следующим образом.

.bashrc:

alias scr="screen -r"
function _complete_scr() {
    local does_screen_exist=$(type -t _screen_sessions)
    local cur=$2 # Needed by _screen_sessions
    if [[ "function" = "${does_screen_exist}" ]]; then
        _screen_sessions "Detached"
    fi
}
export -f _complete_scr
complete -F _complete_scr -o default scr
Другие вопросы по тегам