Итак, в этом вопросе происходит три разные вещи:
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" = "$" ]]; then _screen_sessions "Detached" fi } export -f _complete_scr complete -F _complete_scr -o default scr