Você provavelmente tem a opção nullglob shell ativada; isso faz com que qualquer palavra contendo um caractere globbing ( * ou ? ) seja removido se a glob não corresponder a nada. Assim, se você estiver em uma pasta que não contenha nenhum arquivo, pasta, etc., com um nome de caractere único, ? não será expandido para nada e será removido; da mesma forma, not-a-command? provavelmente não corresponderá a nada e será removido.
Para verificar se esse é o caso, execute
shopt nullglob
Para desativar a opção, execute
shopt -u nullglob