Bloques condicionales de código en Linux bash

Bloques condicionales de código en Linux bash

Casi todo el mundo conoce los muy útiles && y || operadores, por ejemplo:

rm myf && echo "File is removed successfully" || echo "File is not removed"

Tengo una pregunta: cómo poner un bloque de comandos después de && o || operadores sin usar la función?

Por ejemplo quiero hacer:

rm myf && \
  echo "File is removed successfully" \
  echo "another command executed when rm was successful" || \
  echo "File is not removed" \
  echo "another command executed when rm was NOT successful"

¿Cuál es la sintaxis adecuada de ese script?

Respuesta1

rm myf && {
  echo "File is removed successfully" 
  echo "another command executed when rm was successful"
} || {
  echo "File is not removed" 
  echo "another command executed when rm was NOT successful"
}

o mejor

if  rm myf ; then
      echo "File is removed successfully" 
      echo "another command executed when rm was successful"
else
      echo "File is not removed" 
      echo "another command executed when rm was NOT successful"
fi

información relacionada