#!/bin/sh TEST_INPUT="numbers.txt" SORTER="./sorter" REF="sort -n -k 2" SORTER_OUT="sorter_out.txt" REF_OUT="ref_output.txt" DIFF_FILE="diff.txt" $SORTER "$TEST_INPUT" > "$SORTER_OUT" $REF "$TEST_INPUT" > "$REF_OUT" # Compare outputs if diff -q "$SORTER_OUT" "$REF_OUT" > /dev/null; then echo "Passed: $TEST_INPUT" else echo "Failed: $TEST_INPUT" echo "Differences:" diff -u "$SORTER_OUT" "$REF_OUT" > "$DIFF_FILE" diff -u "$SORTER_OUT" "$REF_OUT" | head -n 20 echo fi