>
명령줄에서 명령 뒤에 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