명령 완료 출력을 리디렉션하는 방법은 무엇입니까?

명령 완료 출력을 리디렉션하는 방법은 무엇입니까?

>명령줄에서 명령 뒤에 or 연산자를 사용하여 명령 출력을 파일이나 다른 명령으로 리디렉션하거나 파이프할 수 있습니다 |. 출력을 파일로 리디렉션하고 싶지만 리디렉션할 기회를 얻을 수 없는 것 같은 덜 표준적인 상황에 직면하고 있습니다.

새 터미널에 도착하면,

[chiliNUT ~]$

먼저 아무 것도 입력하지 않고 누르면 Tab다음과 같은 메시지가 나타납니다.

display all 1725 possibilities? (y or n)

이것을 입력하면 y다양한 명령의 긴 목록이 표시됩니다. 이 출력을 파일로 리디렉션하거나 파이프하려면 어떻게 해야 합니까? > myfile.txt어디에도 이런 글을 쓸 기회가 없을 것 같습니다 .

사용CentOS 버전 6.4(최종 버전).

답변1

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

관련 정보