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

某些bash脚本中使用的“function”关键字是什么?

发布时间:2020-12-15 20:00:04 所属栏目:安全 来源:网络整理
导读:例如: Bash-Prog-Intro-HOWTO function foo() {} 我在info bash中搜索查询,并查看POSIX的相关章节的功能关键字,但没有找到。 什么是在一些bash脚本中使用的函数关键字?这是一些不建议使用的语法吗? 在Bash中定义函数时,function关键字是可选的,如 man
例如:
Bash-Prog-Intro-HOWTO
function foo() {}

我在info bash中搜索查询,并查看POSIX的相关章节的功能关键字,但没有找到。

什么是在一些bash脚本中使用的函数关键字?这是一些不建议使用的语法吗?

在Bash中定义函数时,function关键字是可选的,如 manual所示:

Functions are declared using this syntax:

name () compound-command [ redirections ]

or

function name [()] compound-command [ redirections ]

语法的第一种形式通常是首选,因为它与Bourne / Korn / POSIX脚本兼容,因此更具便携性。
也就是说,有时候您可能希望使用function关键字来防止Bash aliases与您的函数名称相冲突。考虑这个例子:

$ alias foo="echo hi"
$ foo() { :; }
bash: syntax error near unexpected token `('

这里,’foo’被替换为同名的别名的文本,因为它是命令的第一个单词。使用函数不会扩展别名:

$ function foo() { :; }

(编辑:李大同)

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

    推荐文章
      热点阅读