Isso deve funcionar:
#!/bin/sh
awk -v CONFIG_SOURCE=Testfile1.txt -f test.awk
re=$?
echo "$re"
if [ "$re" -eq 2 ]; then
echo >&2 "Some error"
fi
O problema no seu script foi o uso de echo $?
antes de recval = $?
. Com echo $?
você imprimiu o valor de $?
(o status de saída da última declaração), mas , então $?
foi substituído de echo $?
. O status de saída da última instrução foi, então, o status de saída de echo $?
, provavelmente com 0.