我在目录中有以下C文件...
hello.c, myprog.c, out.c
我想在单个命令中编译这些文件,以便可执行文件的命名如下:
hello, myprog, out
我试过这个命令
ls *.c | awk '{print $1}'
这列出了所有没有扩展名的c文件。
是否可以通过管道将这些值传递给变量并使用
| gcc $variable.c -o $variable
生成可执行文件?
答案 0 :(得分:4)
for i in *.c; do # or explicitly enumerate the files
gcc -o `basename $i .c` $i
done
答案 1 :(得分:1)
如果您安装了make
,则内置的构建规则将足以构建您的二进制文件。
只需make hello
即可获得二进制文件。无需明确调用gcc
。
答案 2 :(得分:0)
for f in *.c ; do gcc $f -o `echo $f | sed "s/\.c$//"`; done
(未经测试)