[Linux] 在 Makefile 裡的 shell command 使用 shell 變數
今天想在 Makefile 裡執行一行 shell 指令,不過發現平常用 ${FILE} 這種方式讀 shell 變數,
在 Makefile 裡是行不通的,shell 指令只拿到了一個空的字串…
查了一下,這邊有了解答:
stackoverflow: How do I use shell variables in Makefile actions?
原來是 $ 開頭的會被認為是 Makefile 的變數,因此需要作 escape,
${FILE} 要改寫成 $${FILE} 才行,例如:
build_hotfix: for FILE in pkg_student.tgz pkg_teacher.tgz; \ do \ \ ./hotfix.sh "$${FILE}"; \ done
將 $ 改成 $$ 之後,就沒有問題囉~
(本頁面已被瀏覽過 1,615 次)