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



我正在尝试在 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 中剥离前缀缺少什么?谢谢你的时间!

您的 .c 文件使用 MS-DOS 行尾,因此$ID末尾有一个 CR。也去掉它。

相关内容

  • 没有找到相关文章

最新更新