2013-03-12 77 views
1

在bash中,我们可以通过以下方式导出功能:如何列出所有导出的bash函数?

fname(){ 
    echo "Foo" 
} 

export -f fname 

在这种情况下,功能fname出口。但如何列出这个或其他导出的功能? AFAIK,命令exportexport -p可用于显示所有导出/包含的变量,但不包括函数。

回答

6

下面将通过名称列出所有导出函数:

declare -x -F 

如果您还想看到函数代码使用:

declare -x -f 

详见help declare

+0

它适用于“出口”,但对于通过命令“源”导出功能不起作用。 – hushwings 2013-03-12 11:27:56

+0

'source'不会导出任何内容。它只是*“包括”*另一个源文件。 – 2013-03-12 11:29:31

+0

那我怎么知道哪些功能已被包含? – hushwings 2013-03-12 11:31:42

0

declare是要使用的命令。

这里的设置和导出某些功能,并列出所有这些,或只是特定的例子:

$ foo() { echo "Foo"; } 
$ export -f foo 
$ bar() { echo "Bar"; } 
$ export -f bar 
$ 
$ declare -f 
bar() 
{ 
    echo "Bar" 
} 
declare -fx bar 
foo() 
{ 
    echo "Foo" 
} 
declare -fx foo 
$ 
$ declare -f foo 
foo() 
{ 
    echo "Foo" 
} 
$ 
相关问题