使用函数而不是别名有什么缺点吗?

时间:2017-05-09 08:31:21

标签: linux bash function resources alias

Bash函数比别名更通用。例如,Try this code snippet here

使用完整的功能样式并完全删除别名是否有任何缺点,即使对于简单的情况?我可以想象,也许功能可能更耗费资源,但没有数据支持它。

保留一些别名的任何其他原因?它们的语法更简单,人类更容易阅读,但除此之外?

1 个答案:

答案 0 :(得分:1)

注意:别名优先于函数。

以下链接可能与函数开销有关,与别名相比似乎没有开销:3.6. Functions, Aliases, and the Environment

再次引用Dan:" Shell功能尽可能高效。它大致等同于获取bash / bourne shell脚本,但不需要执行文件I / O,因为该函数已经在内存中。 shell函数通常从[.bashrc或.bash_profile]加载,具体取决于您是仅在初始shell还是在子shell中使用它们。将此与运行shell脚本进行对比:你的shell分叉,子进行exec,可能搜索路径,内核打开文件并检查足够的字节以确定如何运行文件,在shell脚本的情况下是shell必须以脚本名称作为参数启动,然后shell打开文件,读取它并执行语句。与shell函数相比,除了执行语句之外的所有事情都可以被认为是不必要的开销。"