별칭을 사용하여 xdg-open을 호출하면 자동 완성 기능이 작동하지 않습니다.

별칭을 사용하여 xdg-open을 호출하면 자동 완성 기능이 작동하지 않습니다.

alias op="xdg-open"~/.bashrc파일 에 xdg-open에 별칭을 추가했습니다 .

명령은 작동하지만 op file.pdf입력할 때(예: TAB 누르기) op fi자동 완성 할 수 없습니다.

별칭 설정의 전체 요점은 시간을 절약하는 것이기 때문에 이것은 약간 짜증나는 일입니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

아마 당신이 가지고있는 것 같아요배쉬 완료설치되면 제공되는 완성 콘텐츠를 자동으로 로드합니다.op명령을 위해별칭으로 시작하는 명령줄을 완성하려고 할 때 op.

다음을 통해 이를 방지할 수 있습니다.

  • 다른 별칭을 선택하고 그 안의 파일을 검토하여 /usr/share/bash-completion/completions/안전한 이름을 선택했는지 확인하세요.

  • bash-completion에 함께 제공되는 완성 기능을 사용하지 않도록 지시하려면 추가하세요 complete -o default -o bashdefault op( 위에 링크된 GitHub 저장소의 FAQ에서 "bash-completion과 함께 제공되는 완성 기능을 어떻게 재정의하나요?" 참조).~/.bashrc

    물론 시스템에 완성 파일이 있는 명령에 대한 별칭을 정의하는 경우 완성을 기본 동작으로 재설정하는 대신 거기에 정의된 완성 함수를 사용할 수 있습니다. 그러나 이 경우 완성 함수를 명시적으로 로드해야 할 수도 있습니다. 결과 .bashrc조각은 다음과 같습니다.

    alias your_alias=aliased_command
    _completion_loader aliased_command
    complete -F completion_function your_alias
    

관련 정보