Как просмотреть функцию завершения вкладки для команды в 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