变量在函数或循环中被读取的时间取决于变量的作用域。如果变量是全局变量,则可以在函数中的任何位置都被读取。如果变量是局部变量,则只能在声明变量的函数中或在该函数中嵌套的函数中读取该变量。
以下是示例代码:
#!/bin/bash
globalVar="I am a global variable"
function testFunc {
localVar="I am a local variable"
echo "Printing local variable inside function: $localVar"
echo "Printing global variable inside function: $globalVar"
}
testFunc
echo "Printing global variable outside function: $globalVar"
echo "Trying to print local variable outside function: $localVar"
在这个例子中,globalVar
是一个全局变量,因此可以在testFunc
函数中的任何位置读取。另一方面,localVar
是一个局部变量,只能在testFunc
函数中读取。当我们尝试在函数的外部读取它时,会得到一条错误消息。