加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

string – shell bash,你能检查函数是否存在

发布时间:2020-12-16 01:47:53 所属栏目:安全 来源:网络整理
导读:参见英文答案 Determine if a function exists in bash????????????????????????????????????13个 我想知道是否有可能检查脚本中是否存在函数.即此刻,我有几个if来检查一个值,然后调用一个函数,但是想知道是否有可能做类似的事情: if[[ ${function_name}Fun
参见英文答案 > Determine if a function exists in bash????????????????????????????????????13个
我想知道是否有可能检查脚本中是否存在函数.即此刻,我有几个if来检查一个值,然后调用一个函数,但是想知道是否有可能做类似的事情:

if[[ ${function_name}Function exists ]]
then
.....call function etc
fi

脚本中可能有一个函数

这可能吗?

解决方法

if type Function &>/dev/null
then
   ...
fi

例:

$type f 2>& /dev/null && echo f exists || echo f does not exist 
f does not exist
$f()
> {
> echo 1
> }
$type f >& /dev/null && echo f exists || echo f does not exist 
f exists

我在这里干什么

>这里我首先检查函数f是否存在;它不存在,好的.
>然后我创建它.
>然后我再次检查,如果它存在.它存在,好的.

如果没有额外的检查,您无法直接说出它是命令,别名还是函数;如果该实体存在或不存在,您知道的所有内容.

如果要运行函数而只运行函数,则必须使检查更严格:

type Function | grep -q '^function$' 2>/dev/null

在bash中,您还可以使用declare -F函数. (感谢那个人)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读