Bash - 将现有变量值分配给新变量。新变量值不 return 赋值
Bash - Assigning existing Variable values to a New Variable. New Variable values does not return the assigned value
我想将现有变量的值分配给 Bash 脚本中的新变量。
问题在于,一旦新变量被分配给现有变量的值,它 returns none 而不是返回现有变量值。 (见下面的代码):
VAR1="Hello World"
VAR2="Let's concatenate"
VAR1+="$MyVar" # assigning to a new variable
echo "$VAR1"
echo "$MyVar" # This is the issue --> no value returned (intention is to return "Hello World")
此命令的输出 (echo "$MyVar") 是:
- VAR1=
- 回声''
您没有定义名为 MyVar
的新变量。您正在将不存在的变量扩展产生的空字符串附加到 VAR1
.
的值
你想要
MyVar=$VAR1
获得想要的结果。
+=
做的例子:
$ x=foo
$ echo "$x"
foo
$ x+=bar
$ echo "$x"
foobar
我想将现有变量的值分配给 Bash 脚本中的新变量。 问题在于,一旦新变量被分配给现有变量的值,它 returns none 而不是返回现有变量值。 (见下面的代码):
VAR1="Hello World"
VAR2="Let's concatenate"
VAR1+="$MyVar" # assigning to a new variable
echo "$VAR1"
echo "$MyVar" # This is the issue --> no value returned (intention is to return "Hello World")
此命令的输出 (echo "$MyVar") 是:
- VAR1=
- 回声''
您没有定义名为 MyVar
的新变量。您正在将不存在的变量扩展产生的空字符串附加到 VAR1
.
你想要
MyVar=$VAR1
获得想要的结果。
+=
做的例子:
$ x=foo
$ echo "$x"
foo
$ x+=bar
$ echo "$x"
foobar