面试题答案
一键面试定义局部变量
在函数内部使用 local
关键字定义局部变量,示例如下:
#!/bin/bash
my_function() {
local local_variable="This is a local variable"
echo $local_variable
}
my_function
# 尝试在函数外部访问局部变量,将不会输出任何内容
echo $local_variable
定义全局变量
直接定义变量就是全局变量,示例如下:
#!/bin/bash
global_variable="This is a global variable"
my_function() {
echo $global_variable
}
my_function
# 在函数外部也能访问全局变量
echo $global_variable
作用域区别
- 局部变量:仅在定义它的函数内部有效,函数执行完毕后,局部变量就会消失,在函数外部无法访问。如上面第一个示例中,在
my_function
外部访问local_variable
不会有输出。 - 全局变量:在整个脚本文件范围内都有效,无论是在函数内部还是外部都可以访问和修改。如上面第二个示例中,在
my_function
内部和外部都能访问并输出global_variable
的值。