altere a instrução if para if [ $CHK -eq 0 ]; then
. Observe os espaços entre as chaves quadradas.
O CHK variável também deve ser atribuído como CHK=$(echo $?)
.
Aqui está o script como deve ser:
#!/bin/bash
grep "::=BEGIN" -q < testfile1.txt
CHK="$?"
if [ "$CHK" -eq 0 ] ; then
echo "failed"
else
exit
fi