我认为从make
字面上解释规则的命令集,将它们传递给子 shell。但这在这种情况下似乎不起作用:
default: loop
echo $$RANDOM
这会echo $RANDOM
在我的 shell 中打印,但实际上不会打印数字。
答案1
GNU make:选择 shell说默认的 shell 是/bin/sh
.
$RANDOM
是一个 bash 功能,因此您可以通过放置来明确告诉make
使用bash
SHELL := '/bin/bash'
在你的顶部Makefile
。
(echo $RANDOM
只是make
回显它将要运行的命令。)