2014-02-26 133 views
-1

我想编译目录中的每个文件以及其子目录的索引和目录。所以基本的想法是编译该项目中的所有文件。为此,我必须编写一个shell脚本。shell脚本遍历目录的子目录并执行命令

我的代码

cd pathtomaindirectory
gcc *.c

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

谢谢

+1

为什么Ç标记?它与shell脚本相关。与c相关的是你正在使用的.c文件 – Chinna

+1

有无数的问题,演示如何递归列出文件并执行操作。你尝试搜索吗? – devnull

+0

雅,但力量得到一个清晰的图片。 – BhajjiMaga

回答

1

你可以做类似

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

使用bash,使递归水珠通配符:

shopt -s globstar nullglob 
gcc **.c