He pirateado este script bash que prueba si el usuario tiene privilegios de superusuario y si no los tiene, los solicita. En última instancia, estoy tratando de invertir la segunda instrucción 'if' para poder eliminar las siguientes dos líneas (el eco "contraseña ok" y el otro en la siguiente línea)
# Root user only
if [[ "$EUID" != 0 ]]; then
sudo -k # make sure to ask for password on next sudo
if sudo true; then
echo "Password ok"
else
echo "Aborting script"
exit 1
fi
fi
echo "do my ops"
¿El propósito de "verdadero" en la cuarta línea es solo una declaración nula?
Necesito invertir la prueba en la cuarta línea, ¿cómo lo hago? Esto es lo que he intentado:
if sudo false; then
if sudo true == false; then
if [!(sudo true)]; then
echo "Aborting script" >&2