bash において直前のコマンドが返し値0or1によって分岐させることできます。 $? という変数にはその直前の返し値が格納されています if 条件式はそもそも 0 or 1 の判定によって分岐させているので条件式にコマンドを入れることも可能です(そもそも[]という条件式自体がtestというコマンドの略式みたいな感じなのでこういうことが出来る感じです)
if grep "hogehoge" ファイル名 ;then echo 0 else echo 1 fi
とやれば
grep "hogeohoge" ファイル名 if [ $? -eq 0 ]; then echo 0 else echo 1 fi
と同じという感じです