我有一个名为info.txt的文件。我想读取文件的第一行并将其分配给makefile中的变量BUILD_NO。我该怎么做?
答案 0 :(得分:1)
如果您只能在命令脚本中使用该值,并且您并不担心它被引用,那么Jonathan的解决方案将非常有效。如果你想在makefile中使用它,或者你关注脚本中出现的'$(BUILD_NO)'
之类的内容,并且你愿意将自己限制在GNU make中,你可以使用:
BUILD_NO := $(shell head -n 1 info.txt)
(我在这里使用head
只是因为它效率稍高一些)。在其他一些版本的make中还有其他选择,但不幸的是,没有任何真正可移植的版本。
答案 1 :(得分:0)
BUILD_NO = `sed 1q info.txt`
当您在操作中引用${BUILD_NO}
或$(BUILD_NO)
时,将执行shell片段。您可能也决定要在它周围加双引号:
BUILD_NO = "`sed 1q info.txt`"
如果你想在依赖信息中使用它,你必须更加努力 - 你在哪个平台使用哪个版本的make
?