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。在使用变量之前将其剥离。
在过去的一个多小时里,这一直让我抓狂。我有四个变量,$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。在使用变量之前将其剥离。