我可以从函数内部访问与局部变量同名的全局变量吗?

时间:2018-01-21 14:07:52

标签: bash

说我有以下代码:

# Global variable x
x="Hi"

foo()
{
    # Local variable x
    local x="Hello"
}

我可以从函数x内部访问(读取和设置)全局变量foo()吗?

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

  1 x="Hi"
  2
  3 foo()
  4 {
  5   echo $x
  6   x="Hello"
  7   echo $x
  8   local x="Bye"
  9   echo $x
 10 }
 11
 12 foo
 13 echo $x

这将打印:

Hi
Hello
Bye
Hello
  • 首先echo $x打印全局x
  • 的值
  • 接下来我们修改它,它的值会改变,如第13行所示。
  • 内部foolocal x值未更改