Условные блоки кода в Linux Bash

Условные блоки кода в Linux Bash

Почти все знают очень полезные операторы && и ||, например:

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

У меня возник вопрос: как разместить блок команд после операторов && или || без использования функции?

Например, я хочу сделать:

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"

Каков правильный синтаксис этого скрипта?

решение1

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"
}

или лучше

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

Связанный контент