Bash 자동 완성을 사용할 때 전체 명령줄을 얻는 방법

Bash 자동 완성을 사용할 때 전체 명령줄을 얻는 방법

새로운 bash 자동 완성 정의 사용과 관련하여 complete -F, 즉 자동 완성을 생성하는 쉘 함수 작성,배쉬 매뉴얼설명하다

쉘 기능 함수는 현재 쉘 환경에서 실행됩니다. 실행되면 $1은 인수가 완료되는 명령의 이름이고 $2는 완료되는 단어이며 $3은 완료되는 단어 앞의 단어입니다.

하지만 그것은 아주 작은 배경일 뿐입니다! 이상적으로는모두지금까지 명령줄. 현재 완성은 이전 단어보다 이전에 설정된 옵션에 따라 달라질 가능성이 높습니다. Bash의 자동 완성에서 전체 명령줄에 액세스할 수 있습니까?

[ 명령줄 전체의 변수에서 사용할 수 있는 zsh것으로 보이며 $words커서 아래 인수의 수는 로 제공됩니다 $CURRENT. 비슷한 것이 있거나 bash동등한 기능에 액세스하는 다른 방법이 있는지 궁금합니다 . ]

답변1

bash쉘 변수의 전체 인수 목록 $COMP_WORDS과 커서 아래에 있는 단어의 인덱스를 제공합니다 $COMP_CWORD. 및 로 시작하는 기타 유용한 완료 관련 쉘 변수는 및 $COMP...의 "쉘 변수" 섹션에 나열되어 있습니다.man bash배쉬 매뉴얼.

관련 정보