带有变量和字符串的 echo 命令

buz*_*zin 5 unix linux bash shell

我有 3 个变量试图插入到包含该字符串的 echo 命令中。

这是我所拥有的:

1= "test1"
2= "test2"
3= "test3"

FileName= "WEATHERMAP"_"$1"_"STATE"_"$2"_"CITY"_"$3" 

echo $FileName
Run Code Online (Sandbox Code Playgroud)

我想要它echo WEATHERMAP_test1_STATE_test2_CITY_test3
相反我得到WEATHERMAP__STATE__CITY_

我知道这与 有关underscore,不幸的是,我需要underscore.

我见过的唯一例子是将两个变量放在一起,或者以 a 开头,variable后跟一个字符串。

rit*_*t93 3

不要以数字开头变量名。

$ a="test1"
$ b="test2"
$ c="test3"
$ FileName="WEATHERMAP_${a}_STATE_${b}_CITY_${c}"
$ echo "$FileName"
WEATHERMAP_test1_STATE_test2_CITY_test3
$
Run Code Online (Sandbox Code Playgroud)

  • @buzzin 这就是为什么你必须将每个变量放入大括号 `${var}` 中 (2认同)