Ouch, my eyes! Could you avoid one-liners like this? They make reading and maintaining HARD.

This should be on several lines, and using SPACES in between statements:

```
while ! echo "${REPORTS_MIGRATION}" | grep "^[1-4]$" > /dev/null; do
    echo -n "${QUESTION_MIGRATE}"
    read REPORTS_MIGRATION
done
```