首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >判断bash中是否存在函数

判断bash中是否存在函数
EN

Stack Overflow用户
提问于 2008-09-17 17:57:38
回答 10查看 83.4K关注 0票数 218

目前我正在做一些单元测试,这些单元测试是从bash执行的。单元测试是在bash脚本中初始化、执行和清理的。此脚本通常包含init()、execute()和cleanup()函数。但它们不是强制性的。我想测试一下是否定义了它们。

我之前通过贪婪和seding源代码做到了这一点,但这似乎是错误的。有没有更优雅的方式来做这件事?

编辑:下面的代码片段很有吸引力:

代码语言:javascript
运行
复制
fn_exists()
{
    LC_ALL=C type $1 | grep -q 'shell function'
}
EN

Stack Overflow用户

发布于 2012-02-27 22:29:32

我特别喜欢Grégory Joseph的解决方案

但我对它做了一点修改,以克服“双引号丑陋的技巧”:

代码语言:javascript
运行
复制
function is_executable()
{
    typeset TYPE_RESULT="`type -t $1`"

    if [ "$TYPE_RESULT" == 'function' ]; then
        return 0
    else
        return 1
    fi
}
票数 2
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/85880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档