我想编写一个编译给定 .c 文件的脚本。该脚本将 .log 文件作为第一个参数,将要编译的程序的名称作为第二个参数。
例子:
./compile logfile.log helloworld
现在我还需要使用 gcc 编译器进行编译,因此我使用以下命令:
gcc "program name".c -Wall -g -o "program name"
所以现在我的问题是:如何将 gcc 命令的输出获取到 .log 文件?
答案1
将 stdout 和 stderr 重定向到脚本的第一个参数:
#!/bin/bash
gcc "$2".c -Wall -g -o "$2" >"$1" 2>&1
用法(例如):./compile.sh logfile.log helloworld