#!/bin/bash
PS3='Choose your favorite vegetable: ' # Sets the prompt string.
# Otherwise it defaults to #? .
echo
select vegetable in "beans" "carrots" "potatoes" "onions" "rutabagas"
do
echo
echo "Your favorite veggie is $vegetable."
echo "Yuck!"
echo
break # What happens if there is no 'break' here? 一直循环执行
done
exit
# Exercise:
# --------
# Fix this script to accept user input not specified in
#+ the "select" statement.
# For example, if the user inputs "peas,"
#+ the script would respond "Sorry. That is not on the menu."
[root@localhost shell]# ./ex31.sh
1) beans
2) carrots
3) potatoes
4) onions
5) rutabagas
Choose your favorite vegetable: 2
Your favorite veggie is carrots.
carrots
Yuck!
#!/bin/bash
PS3='Choose your favorite vegetable: '
echo
choice_of()
{
select vegetable
# [in list] omitted, so 'select' uses arguments passed to function.
do
echo
echo "Your favorite veggie is $vegetable."
echo "Yuck!"
echo
break
done
}
choice_of beans rice carrots radishes tomatoes spinach
# $1 $2 $3 $4 $5 $6
# passed to choice_of() function
exit 0
[root@localhost shell]# ./ex32.sh beans rice carrots radishes tomatoes spinach
1) beans
2) rice
3) carrots
4) radishes
5) tomatoes
6) spinach
Choose your favorite vegetable: 4
Your favorite veggie is radishes.
Yuck!