Использование цикла while:
#!/bin/sh
while :; do
read -rp 'Please enter function: '
case $REPLY in
author)
echo "John"
;;
esac
done
Это будет выполняться до тех пор, пока пользователь не введет прерывающую последовательность, которую я не рекомендую. По крайней мере, я бы обеспечил возможность выхода:
#!/bin/sh
while :; do
read -rp 'Please enter function: '
case $REPLY in
author)
echo "John"
;;
exit)
break
;;
esac
done
Другим вариантом (, если доступен bash, )будет меню выбора:
#!/bin/bash
PS3='Select a function: '
select FUNC in author publisher release_date exit; do
case $FUNC in
author)
echo 'John'
;;
publisher)
echo 'Penguin'
;;
release_date)
echo '1996'
;;
exit)
break 2
;;
*)
echo 'ERROR! Unknown selection' >&2
;;
esac
done