추가 단어의 Bash 완성 Fedora 23

추가 단어의 Bash 완성 Fedora 23

오늘 dnf에서 TAB을 검색할 때 몇 가지 추가 단어가 있다는 것을 발견했습니다.

이 동작의 원인이 무엇인지 아는 사람이 있습니까? 모든 dnfs를 정리하고 bash_completion 및 dnf 업데이트를 다시 설치해 보세요. 작동하지 않습니다. .bashrc에 일부 별칭과 사용자 정의 bash 프롬프트(PS1)를 추가하고 나머지는 기본값으로 두었습니다.

#dnf searc
a              DNF            is             Please         the
and            documentation  not            'plugins'      The
API            function       of             release.       upcoming
at             functions.     officially     removed        use
available      api.html.      only           search         will
be             in             part           supported

답변1

이것은 bash 완료의 버그입니다 dnf(첫 번째도 마지막도 아님). 내가 무엇을 찾을 수 있는지 봅시다.

동일한 명령을 실행하면 set -x소스가 표시됩니다.

 python3 -c 'import sys; from dnf.cli import completion_helper as ch; ch.main(sys.argv[1:])' _cmds sear -d 0 -q -C

옵션 목록을 반환하지 않지만 기본적으로 몇 가지 오류가 있습니다. 이는 /usr/lib/python3.4/site-packages/dnf/cli/completion_helper.py지원되지 않는 API가 사용되었기 때문이며 , 디버깅할 때 다음과 같은 오류가 표시됩니다.

"플러그인" 기능은 DNF API의 일부가 아니며 향후 DNF 버전에서 제거될 예정입니다. 공식적으로 지원되는 API 함수만 사용하세요. DNF API 문서는 다음 위치에 있습니다.https://dnf.readthedocs.org/en/latest/api.html.

노예선

172             base.plugins.load(base.conf.pluginpath, [])

이것은 그래야만 base.init_plugins()했고, 그랬습니다.최근 제출됨. 이제 남은 일은 배포판에서 수정될 때까지 기다리는 것뿐입니다.

관련 정보