Εκτελούνται οι εντολές απλά δεν βλέπεις την έξοδο γιατί καθαρίζεις την οθόνη με την clear. Αντί να την έχεις μέσα στον βρόχο βάλε την στην αρχή.
Επίσης γράφε με στοίχιση. Θα σε βοηθήσει πολύ στην πορεία.
Έτσι πρέπει να δουλεύει σωστά:
- Κώδικας: Επιλογή όλων
clear
while true; do
echo "
---MENU---
Choose one of the following:
1.date 2.who 3.ls
"
read opt
case $opt in
1) date;;
2) who;;
3) ls;;
*) echo "Invalid option."
exit;;
esac
done
Δες και την echo. Δεν χρειάζεται να την καλείς συνέχεια.
Edit: Για την echo μπορείς να χρησιμοποιήσεις '\n' για αλλαγή σειράς αλλά απ' ότι κατάλαβα δεν δουλεύει παντού. Το παραπάνω δουλεύει όμως σίγουρα.