>

command 명령을 보자 . 이 명령에는 -o 옵션이 있습니다  그것은 두 가지 주장을 취합니다. 두 인수 모두에 탭 완성 기능을 추가하고 싶습니다.

내가 시도했다

complete -c command -x -s o -a "complete first arg"

두 번째 인수에 탭 완성 기능을 추가 할 수 없습니다.

<시간>

command 를 자동 완성하고 싶습니다  옵션이 지정되지 않은 경우 이것은 잘 작동합니다 :

complete -c command -a "no option completion"

그러나 -o 의 첫 번째 인수 후 탭을 쳤을 때  옵션, ^ 완료가 표시됩니다.

이와 같이 :

command -o "fist" <tab>
no
option
completion

두 번째 인수에 완료를 추가 할 수 없으면 적어도 완료를 제거하고 싶습니다.

  • 답변 # 1

    와이즈 비즈

    이것은 아주 이례적입니다. 확실합니까?

    보통,하나인수를받는 옵션이나 "플래그"역할을하는 옵션이 있고 다른 모든 인수를 변경할 수 있습니다. 그래서 당신은 그들의 존재를 확인합니다.

    "-o" "old-style"옵션도 "--gnu-style"긴 옵션 또는 "-s"짧은 옵션만큼 일반적이지 않으므로 이중 확인을 제안합니다.

    와이즈 비즈

    명령이 "command"인 경우 "no", "option"및 "completion"을 제공합니다.

    조건이 지정되어 있지 않으므로항상제공됩니다.

    원하는 것은 "--condition"(또는 "-n") 옵션을

    This command has an option -o that takes 2 arguments.

    에 사용하는 것입니다. . 실행되는 스크립트 (문자열)가 필요합니다. 0을 반환하면 (즉, true) 해당 완료 (

    complete -c command -a "no option completion"

    의 나머지 부분)  호출-옵션 및 인수)가 제공됩니다.

    같은 것

    complete
    
    

    complete

관련 자료

  • 이전 php - 값이 이전 키에 존재하면 배열의 키를 삭제합니다
  • 다음 html - 텍스트가 디스플레이 플렉스로 쌓인 이유는 무엇입니까?