Linux 在bash脚本中有没有迭代生成文件目标的方法?
我想做一些类似的事情:Linux 在bash脚本中有没有迭代生成文件目标的方法?,linux,bash,makefile,Linux,Bash,Makefile,我想做一些类似的事情: for *target* in *Makefile targets* do *do some stuff* done 在我的剧本里。有什么方法可以做到这一点吗?您唯一能做的就是运行make-np,然后解析输出以提取所有目标。当然,请注意,这不会显示由隐式规则创建的任何目标。如果您想要所有这些,您可以尝试从make-np的输出中提取所有目标和先决条件。您唯一能做的就是运行make-np,然后解析输出以提取所有目标。当然,请注意,这不会显示由隐式规则创建的任何目标
for *target* in *Makefile targets*
do
*do some stuff*
done
在我的剧本里。有什么方法可以做到这一点吗?您唯一能做的就是运行
make-np
,然后解析输出以提取所有目标。当然,请注意,这不会显示由隐式规则创建的任何目标。如果您想要所有这些,您可以尝试从make-np
的输出中提取所有目标和先决条件。您唯一能做的就是运行make-np
,然后解析输出以提取所有目标。当然,请注意,这不会显示由隐式规则创建的任何目标。如果您想要所有这些,您可以尝试从make-np
的输出中提取所有目标和先决条件,那么您面临的问题是什么?通常的方法是在Makefile中添加一个虚假的目标all
,通过简单地提到它们被视为需求。因此,您只需执行一个makeall
。但是我没有意识到一种隐含的方法,因为定义“目标”实际上是什么还不太清楚…@arkascha是的,我知道make all
,但我想准确地迭代所有目标,而不仅仅是构建它们。好的,那么,请尝试回答我暗示的问题:如何定义在makefile中定义的目标集?:-)@arkascha目标集是字符串列表,对于每个字符串,我可以运行make*something*
,它将起作用。Bash auto completion可以显示Makefile中的所有目标,所以我想要类似的东西,但在scriptSo中,您面临的问题是什么?通常的方法是在Makefile中添加一个虚假的targetall
,通过简单地将它们作为需求来迭代现有目标。因此,您只需执行一个makeall
。但是我没有意识到一种隐含的方法,因为定义“目标”实际上是什么还不太清楚…@arkascha是的,我知道make all
,但我想准确地迭代所有目标,而不仅仅是构建它们。好的,那么,请尝试回答我暗示的问题:如何定义在makefile中定义的目标集?:-)@arkascha目标集是字符串列表,对于每个字符串,我可以运行make*something*
,它将起作用。Bash auto completion可以在Makefile中显示所有目标,所以我想要类似的东西,但在scriptI中我希望有更简单的方法(我希望有更简单的方法)