用于编译C ++的脚本

时间:2016-11-29 13:40:44

标签: bash compilation g++

我想创建一个脚本,可以更快地编译。我想编译一个XYZ.cpp文件,我希望输出为XYZ.out。

这是我的剧本:

#!/bin/bash

# getting the part before .cpp
var1=`echo "$1" | cut -d"." -f1`

# compile
g++ -std=c++11 -Wall -pedantic -Wno-long-long "$1" -o "$var1.out" -lm

我运行它:ccc program.cpp

脚本运行但输出仍为a.out。我做错了什么?

1 个答案:

答案 0 :(得分:0)

只需使用IIFE中的一个删除与“.cpp”匹配的$1的任何尾随部分:

#!/bin/bash
g++ -std=c++11 -Wall -pedantic -Wno-long-long -o "${1%%.cpp}.out" -lm "$1"

我还将源文件移动到g ++的最后一个参数,以便明确选项的位置(和结束)。