O que é isso?
$?
é uma variável incorporada que armazena o status de saída de um comando, função ou o próprio script.
$?
lê o status de saída do último comando executado. Depois que uma função retorna, $?
fornece o status de saída do último comando executado na função. Esta é a maneira de Bash dar às funções um "valor de retorno". Ele retorna 0
no sucesso ou um inteiro no intervalo 1 - 255
no erro.
Existem outras também?
Sim, existem várias variáveis internas no bash. Você pode ver uma lista aqui . Referir: link