关于bash中函数的神话或事实

关于bash中函数的神话或事实,bash,Bash,我知道bash中的函数类似于c中的goto,这会使脚本稍微慢一点。这是真的吗?我应该避免还是接受函数 function foo(){ bla.. } 如果您使用的是bash脚本,并且担心函数调用带来的速度降低,那么您就做错了。使用编译语言(如c) 出于以下原因,您应该接受函数: 可重用性。可以在脚本中多次调用函数。调用函数比复制和粘贴10行来执行任务更容易。如果任务也位于一个位置,那么编辑它就更容易了 抽象。当您拥有一个函数时,您可以重用它,而不必关心它是如何工作的。(该函数变为“黑盒”)

我知道bash中的函数类似于
c
中的
goto
,这会使脚本稍微慢一点。这是真的吗?我应该避免还是接受函数

function foo(){
bla..
}

如果您使用的是
bash
脚本,并且担心函数调用带来的速度降低,那么您就做错了。使用编译语言(如
c

出于以下原因,您应该接受函数:

  • 可重用性。可以在脚本中多次调用函数。调用函数比复制和粘贴10行来执行任务更容易。如果任务也位于一个位置,那么编辑它就更容易了
  • 抽象。当您拥有一个函数时,您可以重用它,而不必关心它是如何工作的。(该函数变为“黑盒”)

我还发现函数更容易阅读-函数名应该告诉我函数中的代码是做什么的,我可以通过查看函数而不是完成该函数的具体步骤来获得代码的高级视图

在bash中,速度不应该是一个问题。如果是,那么就使用编译语言。我喜欢你的答案,我问这个问题是因为我在bash脚本中不经常看到函数,然后我听说bash和函数的速度,这就是为什么我怀疑它的可行性:调用函数10次不仅更容易,而且更快。函数只编译一次,如果将代码剪切/粘贴10次,则会编译10次。