我需要运行一个调用 shell 脚本的 Make 脚本。
我可以直接以 root 身份运行 shell 脚本,但是当在 makefile 上运行 make 时(仍然以 root 身份),make 被拒绝运行相同的 shell 脚本的权限?
Makefile 中有问题的行是:
PLATFORM=$(shell $(ROOT)/systype.sh)
Run Code Online (Sandbox Code Playgroud)
我可以进去并对系统上每个 Makefile 脚本的每个 PLATFORM 变量的值进行硬编码,但这将是毫无意义的修复,我想了解为什么会出现“权限被拒绝”错误:
make[1]: execvp: ../systype.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)
PS:即使 shell 脚本仅包含ls或echo linux拒绝 Make 实用程序运行 shell 脚本的权限,shell 脚本的内容也不是问题。
PS:从某种意义上说,我不是 make 专家,所以如果解释与 Make 有关,请尽可能具体。