Я сделал следующий программный файлprog.f
program test
character IN*30,OUT*30,line*80
PRINT *,'Input file '
READ(*,'(A)') IN
OPEN(1,FILE=IN,STATUS='OLD')
PRINT *,'Output file?'
READ(*,'(A)') OUT
OPEN(2,FILE=OUT,STATUS='NEW',BLANK='ZERO')
read (1,'(a80)') line
write (2,*) "I read ", line
end
скомпилировал и связал его с
gfortran prog.f -o prog
Я поместил текстовую строку во входной файл
echo "Hello World" > in
Затем я отправил имена входного файла in
и выходного файла out
в программу
$ <<< 'in
out'./prog
Input file
Output file?
и проверил выходной файл
$ cat out
I read Hello World
<<<
работает в bash
. Вы можете предпочесть трубопровод из echo
, который является более портативным,
$ rm out
rm: remove normal file 'out'? y
$ echo 'in
out' |./prog
Input file
Output file?
$ cat out
I read Hello World
Не забудьте определить $processing_file
. Кроме того, вы можете просто grep
этот файл напрямую
Затем вы выходите из цикла, если нет ошибок, когда вы хотите выйти, если есть ошибки. Затем, после того, как ваш цикл прервется или завершится, вы действительно захотите вернуться с $return_code
.
integer max=7;i=1
integer return_code=0
while [[ $i -lt $max ]]
do
Java call statement;
error_cnt=`grep -i exception $processing_file | wc -l`
if (( $error_cnt != 0 ))
then
return_code=3;
break
# you don't need an else here, since continuing is the default
fi
(( i = i + 1 ))
done
# return with the code you specify
return $return_code