是否可以在像C这样的shell bash函数中将变量定义为静态变量?

MOH*_*MED 4 c linux bash shell

在C语言中,我可以在这样的函数中定义一个静态变量

int func() {
    static int var=0
    .....
}
Run Code Online (Sandbox Code Playgroud)

在shell bash linux中有什么等效的东西吗?

是否可以将bash shell函数的局部变量定义为静态变量?

Bas*_*tch 5

有了bash您,您就无法真正获得它(我想您希望在外壳的多个实例之间共享一些变量...)。但是,如果您切换到贝(使用chsh改变你的登录shell),你得到所谓的通用变量,拟合样-的法案。另请参阅此答案的相关问题。

顺便说一句,您应该阅读高级bash脚本指南,并考虑使用bash函数(而不是脚本)。

如果您只想在同一个 shell进程中的多个shell函数之间共享变量,则不local要将其声明给函数!