在shell中检查函数是否存在

时间:2019-11-20 08:53:04  来源:igfitidea点击:

在Linux shell脚本中,如何检查函数是否存在?
在bash shell脚本中,如何判断是否定义了某个函数?

可以使用以下内置函数来确定是否定义了函数:

  • type builtin command显示有关命令类型的信息。
  • declare Builtin command设置或显示变量信息。

type builtin示例

创建一个名为foo()的函数:

foo(){ echo "Hello"; }

判断是否定义了foo:

type foo &>/dev/null && echo "foo() found." || echo "foo() not found."

如果已定义foo,则调用foo:

type foo &>/dev/null && foo

使用declare builtin示例

创建一个名为bar()的函数:

bar(){ echo "Hello, World."; }

判断是否定义了bar:

declare -F bar &>/dev/null && echo "bar() found." || echo "bar() not found."

如果已定义bar,则调用bar():

declare -F bar && bar