'compgen'내장 명령 이해


36

보낸 사람 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]의미는 무엇입니까 ?

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


맨 페이지를 읽었습니까? man compgen. 맨 페이지는 쉘 내장을위한 것이므로 아래로 스크롤해야 compgen합니다.
garethTheRed

5
"man compgen"은 존재하지 않습니다. "man bash"사용
kevinf

답변:


37

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

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 쉘 변수의 이름을 의미

당신은 여기에 완전한 매뉴얼 페이지를 볼 수 있습니다 .


@Pandya : 대한 참조 옵션 complete, 그것과 동일합니다 compgen제외 -p하고 -r.
cuonglm

나는 그것을 man bash쉽게 읽고 받아 들일 수 있도록 게시물을 읽고 편집 할 것을 제안 했습니다 .
Pandya

1
사용 방법에 대한 정보가 compgen -G있습니까? 내 패턴이 compgen -G '*.zip'있고 "foo.zip"파일이 있다고 가정하십시오. compgen은 foo.zip을 찾을 수 있지만 사용자가 이미 'b'를 입력 한 경우 어떻게됩니까? 이제 compgen은 아무것도 찾지 않아야합니다. 내가 명령 compgen -G '*.zip' "b"을 내리더라도, compgen은 여전히 ​​foo.zip을 찾습니다
Edward Falk

@cuonglm service 명령으로 제공되는 기능을 나열하는 방법은 무엇입니까? 예를 들어, 사용 service networking및 타격 탭은을 반환 force-reload reload restart start stop합니다. 당신이 그들을 사용하는 방법을 알고 compgen있습니까?
Ilia Rostovtsev의

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.