2

我有一个带有以下 if 语句的 bash 脚本:

if [ "$(PATH)/$(FILE)" != "`echo $(PATH)/$(FILE)`" ]; then [code omitted] fi

将文件路径与回显的相同文件路径进行比较的目的是什么?

bash 脚本嵌入在 Makefile 的规则中。因此,变量的符号不同于普通的 bash 脚本。例如,$(PATH) 将被 PATH 变量替换,该变量在 Makefile 中定义。

4

1 回答 1

2

看起来 Makefile 的作者期望PATH和/或FILE包含变量引用,例如

PATH='/$foo/bar'

所以这$PATH不一定与 的展开相同$(echo $PATH)

于 2012-08-03T21:22:49.677 回答