我正在使用bash运行程序50次并将输出附加到日志文件中。但是,当它完成运行时,我只在日志文件中得到了大约4个输出(而我应该有50个输出)。我的代码是:
#!/bin/bash
mypath="crossvalidation/abalone"
outpath="output/abalone"
for j in {1..5}
do
for i in {0..9}
do
./myprogram -fopen "$mypath/${i}" -fout "$outpath/log.out" #write to file
#./myprogram -fopen "$mypath/${i}" -lstd #print to screen
done
done
如果我只是将输出打印到屏幕上(就像第二行在循环中所做的那样),它似乎不断打印出来并且不会丢失任何东西。那么这里可能会发生什么?为什么我在输出文件中丢失了这么多数据?