面试题答案
一键面试局部变量和全局变量的定义方式
- 局部变量:在函数内部使用
local
关键字定义。例如:
function myFunction {
local localVar="This is a local variable"
echo $localVar
}
- 全局变量:在脚本主体中定义,即在任何函数之外定义。例如:
globalVar="This is a global variable"
function myFunction {
echo $globalVar
}
作用域区别
- 局部变量:作用域仅限于定义它的函数内部。函数执行完毕,局部变量就会被销毁。例如上面的
localVar
,在myFunction
函数外部无法访问。 - 全局变量:作用域是整个脚本,在脚本的任何地方(包括函数内部和外部)都可以访问。例如上面的
globalVar
,在myFunction
函数内部可以访问。
在函数内部修改全局变量的值
在函数内部,可以直接修改全局变量的值,无需特别声明。例如:
globalVar="Initial value"
function modifyGlobal {
globalVar="Modified value"
echo $globalVar
}
modifyGlobal
echo $globalVar
在上述例子中,modifyGlobal
函数修改了全局变量globalVar
的值,并且在函数外部也能获取到修改后的值。