Пропуск проверок на отсутствие файлов, безопасность пробелов и т. Д., Вам, вероятно, понадобится что-то вроде:
for f in ExternalIn/*.in; do
# diff the result of my_cpp_app eating file.in with file.out
# and store the comparison result in file.diff
diff ${f/.in/.out} <(my_cpp_app <$f 2>/dev/null) > ${f/.in/.diff}
done
Хотя я, вероятно, сделал бы это с find
/ xargs
конвейером, который не только безопаснее, но и допускает параллельное выполнение.
Или даже напишите Makefile
для этого и используйте make
, который, в конце концов, является инструментом именно для такой работы.