grep
pode ser usado como um comando de condição. Retorna true quando o padrão corresponde. Aqui, você deseja uma pesquisa de sequência fixa ( -F
) e provavelmente corresponderá na linha completa ( -x
):
if sudo cat /etc/sudoers |
grep -xqFe "$USER ALL=(ALL) NOPASSWD:ALL"
then
echo found
else
echo not found
fi
Ou se a configuração sudoers
permitir que você execute o comando grep
além do cat
one:
if sudo grep -xqFe "$USER ALL=(ALL) NOPASSWD:ALL" /etc/sudoers
then
echo found
else
echo not found
fi
-q
diz a grep
para ficar quieto, para apenas retornar o status verdadeiro / falso através do status de saída, mas não produzir nada no stdout.
Observe que a configuração dos sudoers pode incluir outros arquivos de configuração que essa abordagem não levará em conta. O mesmo para permissões concedidas a grupos dos quais o usuário é membro.
Você pode querer usar sudo -lU "$USER"
.