首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用declare built-in来定义一个函数吗?

我应该使用declare built-in来定义一个函数吗?
EN

Stack Overflow用户
提问于 2020-10-26 06:21:03
回答 1查看 37关注 0票数 0

在列出系统上所有已定义的函数时,每个函数的名称都带有declare -f前缀

代码语言:javascript
复制
bash4.3 declare -F | head
declare -f __expand_tilde_by_ref
declare -f __get_cword_at_cursor_by_ref
declare -f __git_eread
...

作为概念证明,我尝试将函数定义为:

代码语言:javascript
复制
bash4.3 declare -f 'count() { ls -1 | wc -l; } '
bash4.3 declare -F | grep -w count
bash4.3 count() { ls -1 | wc -l; }
bash4.3 declare -F | grep -w count
declare -f count

在上面的输出中,只有定义了没有declare的function时才能识别。我是否正确地理解了declare内置不用于函数声明?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-26 06:32:38

这是不合法的。在https://wiki.bash-hackers.org/commands/builtin/declare中,在错误代码表下:

代码语言:javascript
复制
+-------------+--------------------------------------------+
| Exit status | Reason                                     |
+-------------+--------------------------------------------+
| != 0        | Attempting to define a function using `-f` |
+-------------+--------------------------------------------+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64529421

复制
相关文章

相似问题

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