用于编译程序的Bash脚本,用15个输入文件提供它并将stdout打印到文件

时间:2017-11-01 02:44:52

标签: bash shell unix

我试图编写一个Bash脚本,为我的程序(./program)提供15个按顺序命名的输入文件(file01.txt,file02.txt等)并将输出打印到文件中( result.out)。这是我写的代码:

#!/bin/bash
#Compile the current version

g++ -std=c++11 -fprofile-arcs -ftest-coverage program.cpp -o program
#
#Output file
outFile=result.out

#Loop through files and print output
for i in *.txt; do
    ./program < $i > $outFile
done

我在运行此脚本时遇到分段错误而不确定我做错了什么。这是我第一次写一个bash脚本,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

基本上这些是我从与stackoverflow成员的对话中学到的要点:

1-分段错误与bash脚本无关。它肯定与运行bash命令的程序有关。

2-为程序提供文本文件并将结果插入输出文件的bash脚本如下:

#!/bin/bash
#Compile the current version
g++ -std=c++11 -fprofile-arcs -ftest-coverage program.cpp -o program
#
#Test output file
outFile=results.out
# print "Results" into outFile
printf "Results\n" > $outFile
# loops through text files, send files to stdin 
# and insert stdout to outFile
for i in *.txt; do
    printf "\n$i\n" 
    ./program < "$i" 
done >> $outFile