前进的声明在bash中?

bash是否存在这样的事情,或者至less是类似于前向声明(例如在C/C++已知的)类似的东西(解决方法)?

或者有这样的事情,因为它总是一次执行?

如果没有前向声明,我该怎么做才能让我的脚本更容易阅读(这是相当长的,开始时这些函数定义,与全局variables混合在一起,使我的脚本看起来非常非常难看,难以理解) ? 我正在寻求一些这样的案例的知名/最佳做法。


例如:

 # something like forward declaration function func # execution of the function func # definition of func function func { echo 123 } 

伟大的问题。 我在大部分脚本中都使用这样的模式:

 #!/bin/bash main() { foo bar baz } foo() { } bar() { } baz() { } main "$@" 

你可以从上到下读取代码,但是直到最后一行才会开始执行。 通过将"$@"传递给main(),您可以像往常一样访问命令行参数$1$2等。

当我的bash脚本增长太多,我使用一个包含机制:

文件allMyFunctions

 foo() { } bar() { } baz() { } 

文件main

 #!/bin/bash . allMyfunctions foo bar baz