Bash 中的字符串连接不考虑变量之前的字符串

String concatentation in Bash doesn't consider string before variable

我在将 UUID=$(curl https://www.uuidgenerator.net/api/version4) 定义的变量 $UUID 插入字符串时遇到问题(在 Mac 上使用 Bash)。

例如,echo '->"'$UUID'"<-' 结果为 "<-280bf23e-1774-4041-aeb7-15c8db8e24ce,而不是预期的 ->"280bf23e-1774-4041-aeb7-15c8db8e24ce"<-

有什么我遗漏的吗?

curl https://www.uuidgenerator.net/api/version4 的输出包含一个 \r 回车 return CR 字符,它在打印时将光标位置移动到行的开头。删除它,例如 tr -d '\r'.

UUID=$(curl https://www.uuidgenerator.net/api/version4 | tr -d '\r')