Shell脚本迭代目录的子目录并执行命令

时间:2014-02-26 13:20:29

标签: bash shell

我想编译目录中的每个文件以及该子目录的目标和目录。所以基本的想法是编译该项目中的所有文件。为此,我必须编写一个shell脚本。

我的代码

cd pathtomaindirectory
gcc *.c

在此我必须在带有.c扩展名的所有子目录文件上运行该命令。那么我如何使用for循环呢。我是shell脚本的新手

谢谢

2 个答案:

答案 0 :(得分:2)

使用bash,启用递归的glob通配符:

shopt -s globstar nullglob
gcc **.c

答案 1 :(得分:1)

您可以执行类似

的操作
cd path/to/main/directory
find . -name '*.c' -exec gcc -c {} \;
gcc -o app *.o