Bash - 连接字符串时消失的值

时间:2016-04-09 16:28:43

标签: string bash concatenation string-concatenation

我试图插入我从另一个文件(xml)获取的文件值,我希望它们在一行中。我检查了变量 - 它们是分开的,但是一旦我尝试以某种方式连接它们,出现了问题,我只得到了之前字符串的一部分。

我的代码如下:

echo $usd
echo $gbp
all=$usd$space$gbp
echo $all

输出如下:

3,6525
5,5407
 5,5407

有人知道我做错了什么吗?或者我该怎么做才能恢复我的数据?

1 个答案:

答案 0 :(得分:2)

您的变量中有CR。我可以用vars重现你的案例

usd="3,6525^M"
gbp="5,5407^M"
space=" "

(我用CTRL-V CTRL-M在vi中输入^ M,它是\ r \ n字符) 当您不想清理xml,usd和gbp时,可以使用

all=${usd%$'\r'}${space}${gbp%$'\r'}