Você não pode. A seleção é usada pela declaração de caso para decidir o que fazer. Não é definido pela declaração do caso.
Você pode querer tentar algo assim:
selection=
until [ "$selection" = "0" ]; do
cmd=''
echo ""
echo "PROGRAM MENU"
echo "1 - display free disk space"
echo "2 - display free memory"
echo ""
echo "0 - exit program"
echo ""
echo -n "Enter selection: "
read selection
echo ""
case "$selection" in
1) cmd='df' ;;
2) cmd='free' ;;
0) cmd='exit' ;;
*) echo "Please enter 1, 2, or 0"
esac
if [ -n "$cmd" ] ; then
echo "selection $selection is '$cmd'"
$cmd
fi
done
Observe que ele executa o echo "selection $selection is '$cmd'
antes de executar $cmd
, caso contrário, ele sairá antes do echo
quando $selection
for 0.