我正在尝试在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中删除前缀时我错过了什么?谢谢你的时间!
答案 0 :(得分:5)
您的.c文件使用MS-DOS行结尾,因此$ID
最后有一个CR。剥去那个。