我试图编写一个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脚本,所以任何帮助将不胜感激。
答案 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