gpt4 book ai didi

bash - 从 linux bash 中的函数分配局部变量一个新值

转载 作者:行者123 更新时间:2023-11-29 08:47:07 26 4
gpt4 key购买 nike

我有一个带有函数的linux bash脚本:

myfunctiona () 
{
local MYVAR1="one"
local MYVAR2="two"
echo $MYVAR1
# The line beneath is the line in question!
local MYVAR1=$MYVAR1$MYVAR2
}

当我想给函数myfunctiona中的LOCAL变量MYVAR1一个新值时,是否必须这样写

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

关于bash - 从 linux bash 中的函数分配局部变量一个新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com