Saída de erro. Mais sinalizadores
Se houver um erro, ele sairá imediatamente.
O $? é o status de saída do comando passado. No Linux, um status de saída igual a 0 significa que o comando foi bem-sucedido. Qualquer outro status significaria um erro.
egrep "^ nome do usuário" / etc / passwd > / dev / null Procuraria o nome de usuário no arquivo / etc / passwd. Se ele encontrar, então o status de saída $? será igual a 0. Se não for encontrado, o status de saída será outra coisa (não 0), portanto, você "echo não existe".