首页 > 解决方案 > 如何检查 Bash 脚本参数是否是用户定义的函数?

问题描述

我需要验证,当通过命令行运行 bash 脚本时,用户正在调用同一脚本中的一个用户定义函数作为他们的第一个参数。我知道有一个内置的 bash 命令“type”,所以我正在尝试使用它。但是,我似乎无法让它工作——即使我在 -x 模式下运行脚本,“type -t $1”返回的只是一个空字符串。

我试过$(type -t $1), $(type -t "$1"), if [ $(type -t "$1") = "foo"], 等等。

当我用一个函数测试它是一个函数时,没有任何迹象表明它是一个函数,当我尝试验证时也没有返回任何内容。我对 Bash 脚本非常陌生,如果在其他地方问这个问题,我很抱歉,我找不到它。

标签: bashunix

解决方案


推荐阅读