"compgen" 내장 명령에 대해 알아보기

"compgen" 내장 명령에 대해 알아보기

에서 help compgen:

$ help compgen
compgen: compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]
    Display possible completions depending on the options.
    
    Intended to be used from within a shell function generating possible
    completions.  If the optional WORD argument is supplied, matches against
    WORD are generated.
    
    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs.

옵션은 무엇을 [-abcdefgjksuv]나타냅니까?

즉, 모든 옵션의 사용법을 알고 싶습니다.

답변1

명령 옵션은 및 를 제외하고 compgen와 동일합니다 . 매뉴얼 페이지 에서 :complete-p-rcompgen

compgen
 compgen [option] [word]
 Generate possible completion matches for word according to the options, which 
 may be any option accepted by the complete builtin with the exception of -p 
 and -r, and write the matches to the standard output

옵션의 경우 [abcdefgjksuv]:

  • -a별칭을 나타내는 이름
  • -b쉘 내장 함수의 이름을 나타냅니다.
  • -c모든 명령의 이름을 나타냅니다.
  • -d디렉토리 이름을 나타냅니다.
  • -e내보낸 쉘 변수의 이름을 나타냅니다.
  • -f파일 이름을 나타냅니다.
  • -g그룹의 이름을 나타냅니다.
  • -j직위를 나타냅니다.
  • -k쉘 예약어의 이름을 나타냅니다.
  • -s서비스 이름을 나타냅니다.
  • -u사용자 이름을 나타내는 이름
  • -v쉘 변수의 이름을 나타냅니다.

전체 매뉴얼 페이지를 볼 수 있습니다여기.

답변2

오라일리(O'Reilly)에 책이 있습니다.Arnold Robbins의 bash 빠른 참조compgen)에는 프롬프트 양식 옵션도 자세히 설명되어 있습니다. 전체 문서 얻기 위에 나열된 옵션 외에도 몇 가지 다른 옵션이 있습니다. 현재 버전과 관련이 없을 수 있지만 일부 옵션은 현재 버전 설명서에 더 이상 설명되어 있지 않습니다.

compgen현재로서는 이러한 대문자 사용 옵션이 온라인에서 사용 되거나 전체 문서에서 언급되는 것을 보았습니다 !

compgen [option] [word]
complete [-abcdefgjksuv] [-o comp-option] [-A action] [-G globpat] [-W wordlist]
      [-P prefix] [-S suffix] [-X filterpat] [-F function]
      [-C command] name [name ...]
      complete -pr [name ...]
  • -A 작업 = 작업은 가능한 완료 목록을 생성하는 데 사용되는 다음 중 하나일 수 있습니다. (링크 참조)
  • -C command = 서브셸에서 명령을 실행하고 해당 출력을 완성 목록으로 사용합니다.
  • -F function = 현재 쉘에서 쉘 기능을 실행합니다. 반환 시 완성 목록은 COMPREPLY 배열에서 검색됩니다.
  • -G globpat = 파일 이름 확장 패턴 globpat이 확장되어 가능한 완성을 생성합니다.
  • -P prefix = 다른 모든 옵션이 적용된 후 가능한 각 완성의 시작 부분에 접두사를 추가합니다.
  • -S suffix = 다른 모든 옵션이 적용된 후 가능한 각 완성에 접미사를 추가합니다.
  • -W wordlist = IFS 특수 변수의 문자를 구분 기호로 사용하여 단어 목록을 분할하고 각 결과 단어를 확장합니다. 가능한 완성은 완성되는 단어와 일치하는 결과 목록의 구성원입니다.
  • -X filterpat = filterpat는 파일 이름 확장에 사용되는 모드입니다. 이전 옵션 및 인수에 의해 생성된 가능한 완성 목록에 적용되며, filterpat와 일치하는 모든 완성은 목록에서 제거됩니다. 선행 '!'는 filterpat의 패턴을 무효화합니다. 이 경우 filterpat와 일치하지 않는 완성은 제거됩니다.

이 문서의 상당히 자세한 버전은 다음에서 찾을 수 있습니다.내장 기능의 프로그래밍 가능한 완성.

두 명령 모두 내장 명령이므로 공식 문서는 로컬에 있습니다.매뉴얼 페이지배쉬용. 검색 옵션을 사용하여 관련 부품을 찾으세요. 죄송합니다. 인터넷 서비스에서도 두 보기 변형 모두에서 레이아웃이 약간 손상된 것 같습니다(생성된 레이아웃의 사용성 감소).

관련 정보