Você pode usar select
. Primeiro, defina $ PS3 para o prompt e, em seguida, use select
como um loop, interrompendo quando você tiver dados corretos para obter as informações desejadas:
PS3="Choose a theme zip file to install:"
select theme_file in *.zip; do
[[ -f "$theme_file" ]] && break
done
echo "Installing ${theme_file%.zip} from ${theme_file}..."