我有简单的 bash 脚本。我的 bash 版本是GNU bash, version 4.4.20(1)-release (x86_64-redhat-linux-gnu)
#!/bin/bash
func() {
nlvar="i'm not local variable"
local lvar="i'm local variable"
}
echo $nlvar
echo $lvar
如果我使用
eval nlvar="i'm not local variable"
或者
export nlvar="i'm not local variable"
仍然没有任何回声
答案1
如果您不调用该函数,则除了全局(未定义)范围外,没有任何范围:
#!/bin/bash
func() { :; } # define a function
echo $nlvar
echo $lvar
定义函数并不执行它,因此在执行语句时,echo
两个变量都没有被设置