2

В конечном итоге я хочу, чтобы псевдоним screen -r .

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

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

1 ответ1

3

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

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

2) Завершение Bash будет принимать аргументы. В случае screen -r функция завершения bash screen вызывается с аргументом -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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .