2015-02-11 3 views
0

Это заставило меня с ума сойтись в течение прошедшего часа или около того. У меня есть четыре переменные: $A, $B, $C и $D. Для простоты предположим, что значения в каждой из этих переменных являются их соответствующей буквой. Я пытался создать переменную для хранения строки, я хотел бы напечатать, например, так:Bash назначить строку переменной и напечатать

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? Есть ли лимит символов для того, что можно сохранить в переменной?

ответ

3

$source_count имеет CR в конце. Разделите его перед использованием переменной.

+0

Как я могу купить вам пиво? Спасибо, что спасли мое здравомыслие. – raphnguyen

+2

@raphnguyen принять его ответ –

Смежные вопросы