我有一个linux bash
带有函数的脚本:
myfunctiona ()
{
local MYVAR1="one"
local MYVAR2="two"
echo $MYVAR1
# The line beneath is the line in question!
local MYVAR1=$MYVAR1$MYVAR2
}
当我想给予LOCAL
多变的MYVAR1
在函数中myfunctiona
一个新的值,我必须写吗
local MYVAR1=$MYVAR1$MYVAR2
或者我也可以写
MYVAR1=$MYVAR1$MYVAR2
使用没有“local”的第二行,我是否创建一个同名的全局变量?
一旦定义了局部变量,就可以正常分配它,如下所示:
#!/bin/bash
myfunctiona ()
{
local MYVAR1="one"
local MYVAR2="two"
echo $MYVAR1
# The line beneath is the line in question!
local MYVAR1=$MYVAR1$MYVAR2
MYVAR1="FOO"
echo $MYVAR1
}
myfunctiona
echo "global" $MYVAR1
给出输出:
one
FOO
global
- 正如您所看到的,尝试从全局范围访问变量会返回 null
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)