O seguinte script /bin/sh
insiste em obter uma resposta válida do usuário (ele perguntará novamente se o usuário não fornecer uma y
ou uma n
ou uma palavra que comece com uma dessas duas letras, maiúsculas ou minúsculas).
while true; do
printf 'IS THIS A PRODUCTION DATABASE? [y/n]: '
read response
case "$response" in
[Yy]*)
printf 'PLEASE ENSURE A 7 YEARS RETENTION RMAN_FULL BACKUP TAKEN for %s\n' "$DBTD"
break
;;
[Nn]*)
printf 'ERROR: Cannot proceed as 7 Years backup not yet TAKEN for PRODUCTION database. Please take a 7 Years Retention backup and re-run the script again.\n'
printf 'PLEASE CHECK IF BACKUP IS REQUIRED BEFORE DECOMMISSIONING %s\n' "$DBTD"
break
;;
*) printf 'Invalid response "%s"\n' "$response"
esac
done
Se o usuário inserir N
em seu código, parece que você deseja que a mensagem de erro e a mensagem "VERIFIQUE POR FAVOR" sejam impressas. É por isso que eu envio ambas as mensagens quando o usuário digita uma palavra que começa com n
.
Se você deseja que a mensagem "VERIFIQUE POR FAVOR" seja sempre enviada, mova a linha printf
até o final do script.