如何重定向命令完成输出?

如何重定向命令完成输出?

>在命令行上,我可以在命令后使用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

相关内容