【发布时间】:2012-08-08 04:12:45
【问题描述】:
我在 CentOS 的 /etc/init.d/functions 中找到了以下代码。
status() {
local base pid lock_file= pid_file=
...
声明了4个变量。 其中两个未初始化,base 和 pid。 但是其余的都是用空值,lock_file和pid_file初始化的。
我测试了以下代码,没有发现任何差异。
local a b=
echo "a is $a, length is ${#a}"
echo "b is $b, length is ${#b}"
它们之间有什么区别吗?
【问题讨论】:
-
Local 是用于函数的,对吧?如果您在函数外部设置了
foo的值,会发生什么情况? (我没有方便测试的 bash)。祝你好运。 -
和其他语言一样,我们不能从“本地声明语句”中引用外部变量。因此,如果您声明与外部变量同名的局部变量,它将被视为其他变量。