Bash 将字符串分配给变量并打印

Bash assign string to variable and print

在过去的一个多小时里,这一直让我抓狂。我有四个变量,$A$B$C$D。为了简单起见,我们假设每个变量中的值都是它们对应的字母。我试图创建一个变量来保存我想打印的字符串,如下所示:

s="${A} failed. ${B} ${C} ${D}"
echo "$s"

我已经编写了一个完全相同的测试脚本,并且运行良好。但是,在我的实际脚本中,变量是不同的。

echo $table_name (prints correctly)
echo $source_count (prints correctly)
echo $disk_size (prints correctly)
echo $hive_count (prints correctly)
s="${table_name} failed. ${source_count} ${disk_size} ${hive_count}" (only prints $disk_size and $hive_count)
echo "$s"

谁能想到 $s 似乎只存储 $disk_size$hive_count 的原因?变量中可以存储的内容是否有字符限制?

$source_count 最后有一个 CR。在使用变量之前将其剥离。