명령 완료 출력을 어떻게 리디렉션합니까? 것도 입력하지

명령 행에서 명령 뒤에 >또는 |연산자를 사용하여 명령 출력을 파일 또는 다른 명령으로 경로 재 지정하거나 파이프 할 수 있습니다 . 출력을 파일로 리디렉션하려는 덜 표준적인 상황을 겪었지만 파일을 리디렉션 할 가능성이없는 것 같습니다.

새로운 터미널에서

[chiliNUT ~]$

Tab아무 것도 입력하지 않고을 누르면 메시지 가 나타납니다

display all 1725 possibilities? (y or n)

그런 다음을 입력 y하면 다양한 명령 목록이 나타납니다. 이 출력을 파일로 리디렉션하거나 파이프하려면 어떻게해야합니까? 나는 > myfile.txt어디서나 타이핑 할 기회를 얻지 못하는 것 같습니다 .

사용 에 CentOS 6.4 (최종)를 출시 .



답변

내장을 사용할 수 있습니다 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.

TAB프롬프트에서 명령, 쉘 내장, 키워드, 별명 및 기능을 나열합니다. 그래서 당신은 말할 수 있습니다 :

compgen -cbka -A function | grep '^y' > myfile.txt

yTAB셸 프롬프트에서 파일 에 입력 할 때 표시되는 모든 옵션을 가져옵니다 myfile.txt.

grep가능한 모든 명령, 함수 등을 파일로 가져 오려면 파이프 라인을 제거 하십시오.

compgen -cbka -A function > myfile.txt