배쉬 4.4를 사용하고 있습니다.
[root@192 ~]# bash --version
GNU bash, version 4.4.19(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@192 ~]#
옵션 이름을 자동 완성할 수 있는 방법이 있는지 궁금합니다. 예를 들어, realpath --re
뒤에 a를 입력하면 Tab옵션 이름에서 누락된 부분을 채우는 데 도움이 되고 을 얻습니다 realpath --relative-to=
.
답변1
bash-completion을 활성화한 경우 명령 완료를 위한 명령 옵션이 이미 있습니다. 비슷한 장소에서 이 목적을 위한 많은 스크립트와 함수를 볼 수 있습니다 /usr/share/bash-completion
. 설치된 패키지는 git
스크립트를 /etc/bash_completion.d/
.
완료가 제한된 일부 스크립트(예: realpath
또는 ) 가 여전히 있을 수 있습니다. 를 사용해야 하는 echo
긴 옵션에 대한 완성을 추가하려면 이는 완성을 생성하는 bash 함수이며 를 사용하여 볼 수 있습니다 .realpath
_longopt
type -a
complete -F _longopt realpath
이 작업을 수행하기 전에 다음을 통해 변경하려는 내용이 완료되었는지 테스트해야 합니다.
complete -p realpath
no completion specification
이는 기존 규칙이라고 할 수 있습니다 complete -F _minimal realpath
. 예를 들어 새 규칙이 이를 재정의합니다. 따라서 많은 명령에 어떤 기능(기존 또는 사용자 정의)도 맹목적으로 할당해서는 안 됩니다. 명령 완성 규칙이 이미 존재합니다.
이 변경 사항은 현재 셸에 적용됩니다. 영구적으로 만들려면 source
예를 들어 를 전달하여 이 작업을 수행 해야 합니다 bashrc
.