我的目录结构如下:
. ├── one │ ├── one_one │ │ └── one_one_one │ │ ├── Makefile │ │ └── one_one_oneTest.cpp │ └── one_two │ ├── Makefile │ └── one_twoTest.cpp ├── three │ ├── Makefile │ └── threeTest.cpp └── two └── two_one ├── Makefile └── two_oneTest.cpp
我想在找到Makefile的地方运行make命令。所以,我编写了一个shell脚本如下。
#!/bin/bash
find . -type f -name Makefile -exec make \;
但它提出错误make: *** No targets specified and no makefile found. Stop.
如果我只是运行find . -type f -name Makefile
,我会
./two/two_one/Makefile
./three/Makefile
./one/one_two/Makefile
./one/one_one/one_one_one/Makefile
这是我预期的正确输出。
如果我使用make命令运行Makefile,它运行正常,所以我认为Makefile是正确的。 shell脚本有什么问题?
仅供参考,我的一个Makefile如下:
all: TestTwoOne
TestTwoOne: two_oneTest.cpp
g++ two_oneTest.cpp -o TestTwoOne
答案 0 :(得分:3)
您当前的目录"没有更改为运行make的相应子目录。这样做:
$("[name='loginform']").formValidation({