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

标签 string bash concatenation string-concatenation

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

我的代码如下所示:

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

输出如下所示:

3,6525
5,5407
 5,5407

有人知道我做错了什么吗?或者我可以做什么来恢复我的数据?

最佳答案

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

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

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

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

关于string - Bash - 连接字符串时值消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519593/

相关文章:

arrays - 当字符与前一个字符不同时,在 ruby​​ 中分割字符串

python - 查找并替换 POM 中两个单词之间的内容

linux - 通过 ssh 执行脚本时无法使用命令 `date` 或 `find`

java - 在字符串前添加空格 - 不像我想象的那样起作用

c - 如何在C中连接数组中的十六进制数据

java - 区分String和UUID的万无一失的方法

c++ - 字符串[包含整数]的乘法,输出也存储在字符串中,如何?

linux - 无法在 Linux Mint 上安装 heroku toolbelt 路径无效

php - 使用 regexp + concat 准备好的语句中的 MySql 查询语法问题

string - 检查 clojure 中的字符串是否包含子字符串