Kir*_*rov 89 bash function sh forward-declaration
例如bash,在C/C++中众所周知的前向声明是否有类似的东西或至少类似的东西(解决方法)?
或者有这样的事情,因为例如它总是一次性执行(一行一行)?
如果没有前向声明,我该怎么做才能使我的脚本更容易阅读.它相当长,这些函数定义在开始时与全局变量混合,使我的脚本看起来很难看,难以阅读/理解)?我要求学习一些这些案例的知名/最佳实践.
例如:
# something like forward declaration
function func
# execution of the function
func
# definition of func
function func
{
    echo 123
}
Joh*_*ica 179
好问题.对于我的大多数脚本,我都使用这样的模式:
#!/bin/bash
main() {
    foo
    bar
    baz
}
foo() {
}
bar() {
}
baz() {
}
main "$@"
您可以从上到下阅读代码,但实际上直到最后一行才开始执行.通过传递"$@"给main(),您可以访问命令行参数$1,$2等就像你通常会.
mou*_*iel 29
当我的bash脚本增长太多时,我使用了一个包含机制:
档案allMyFunctions:
foo() {
}
bar() {
}
baz() {
}
档案main:
#!/bin/bash
. allMyfunctions
foo
bar
baz