#! /bin/bash for file in ./* do t=${file#.*.} if [[ $t == "c" ]] then file=${file#./} target=${file%.c} gcc -o $target $file elif [[ $t == "cpp" ]] then file=${file#./} target=${file%.cpp} g++ -o $target $file fi done
比上一个代码,改进了一点。
这里有个问题,如果以后目录下代码很多。每次全部编译费时且没必要。
可以考虑通过检查文件时间戳,只修改新生成的和修改后的代码。