bash回显相互覆盖的多个变量

时间:2014-02-27 03:33:59

标签: string bash echo prefix

我正在尝试在bash中的同一个echo命令中打印两个变量,第一个变量“ID”是通过查看.c文件的第一行获得的。我删除前缀以获取ID = myid。

.c文件的第一行

// EID:myid

去除前缀

firstLine=$(head -n 1 ~/my.c)
ID=${firstLine#*:}

如果我回复$ ID,我会得到“myid”;但是,如果我沿着以下方式回应:

randomString="random"
echo $ID$randomString

randomString将完全覆盖我的ID,它只会显示

random

在bash中删除前缀时我错过了什么?谢谢你的时间!

1 个答案:

答案 0 :(得分:5)

您的.c文件使用MS-DOS行结尾,因此$ID最后有一个CR。剥去那个。