![通过 makefile 执行 shell 脚本](https://linux22.com/image/1346266/%E9%80%9A%E8%BF%87%20makefile%20%E6%89%A7%E8%A1%8C%20shell%20%E8%84%9A%E6%9C%AC.png)
我正在尝试创建一个 .deb 文件,该文件首先安装存储在某个文件夹中的依赖项,为此我创建了一个 shell 脚本。我的问题是通过 make 文件执行 shell 脚本,我的 make 文件格式调用 shell 脚本如下:
$(shell PATH="$(../)" "./something.sh")
但是当我执行 fakeroot debian/rules clean 时,它会引发一个错误:
./something.sh: 3: ./something.sh: sh: not found
./something.sh: 4: ./something.sh: make: not found
./something.sh: 5: ./something.sh: make: not found
答案1
您将 PATH 设置为“”,甚至无法找到 /usr/bin 中的命令。
我假设您想将 .. 添加到 PATH。您想要的是:
$(shell PATH="$(PATH):.." ./something.sh)
假设您正在使用 something.sh 的输出执行某项操作,如果没有,那么:
PATH=$(PATH):.. ./something.sh
就是所有需要的。