我想创建一个脚本,可以更快地编译。我想编译一个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
。我做错了什么?
答案 0 :(得分:0)
只需使用IIFE中的一个删除与“.cpp”匹配的$1
的任何尾随部分:
#!/bin/bash
g++ -std=c++11 -Wall -pedantic -Wno-long-long -o "${1%%.cpp}.out" -lm "$1"
我还将源文件移动到g ++的最后一个参数,以便明确选项的位置(和结束)。