>
在命令行上,我可以在命令后使用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在提示符下会列出命令、shell 内置命令、关键字、别名和函数。所以你可以说:
compgen -cbka -A function | grep '^y' > myfile.txt
获取在yTABshell 提示符下键入文件时看到的所有选项myfile.txt
。
消除grep
管道以便将所有可能的命令、函数……放入文件中:
compgen -cbka -A function > myfile.txt