: command not found
Isso significa que o comando fornecido como condição na instrução if não foi encontrado. Esse comando ""
é apenas uma string vazia e, portanto, não foi encontrado; não existe tal comando.
De acordo com a página de manual do bash, a sintaxe de uma instrução if deve ser a seguinte:
if list; then list; [ elif list; then list; ] ... [ else list; ] fi
A list is a sequence of one or more pipelines separated by one of the operators ;, &, &&, or ||, and optionally terminated by one of ;, &, or .
Assim, na instrução if acima da lista é executada e um código de saída de 127 retornou e um erro é visto que o comando não foi encontrado. Isso é então avaliado como falso, portanto, o bloco else é executado.
O que você pode querer é algo como segue:
if false; then echo FOUND; else echo NOT; fi