第6章创建函数-----------(select命令操作实例)

来源:互联网 发布:cad软件正版价格 编辑:程序博客网 时间:2024/06/08 05:48

6.7 select命令使用

创建文本菜单的大多数问题就是创建菜单布局和获取输入的答案。select命令允许从单命令行创建菜单,然后获取输入的答案并自动处理它。select命令格式如下所示:

select variable in list

do

      command

done

 列表参数是用空格隔开的构建菜单的文本项列表。select命令将列表中的每一项显示为一个编号选项,然后为选择显示一个特殊的提示符(由PS3环境变量定义)。

select操作实例如下所示: 

#!/bin/bash#使用select命令与PS3环境变量#求圆的面积function circleArea {   read -p "输入圆的半径:" radius   if [ $radius -le 0 ]   then        echo 0   elseecho $[ $[ $radius**2 ] * 3 ]   fi}function rectangleArea {   read -p "输入长和宽:" length width   if [ $length -le 0 ] || [ $width -le 0 ]   then      echo 0   else      echo $[ $length * $width ]   fi}function triangleArea {  read -p "输入三角形的三边:" a b c  local l=$[ $[ $a+$b+$c ]/2 ]   if [ $[ $a + $b ] -gt $c ] && [ $[ $a + $c ] -gt $b ] && [ $[ $c + $b ] -gt $a ]  then      local dete=$[ $l * $[ $l -$a ] * $[ $l -$b ] * $[ $l -$c ] ]      echo "sqrt($dete)" | bc  else      echo "不是三角形!"  fi}PS3="Enter option: "select option in "圆面积" "矩形面积" "三角形面积" "退出"do   case $option in   "圆面积") echo "圆面积"`circleArea`;;   "矩形面积") echo "矩形面积"`rectangleArea`;;   "三角形面积") echo "三角形面积"`triangleArea`;;   "退出") break;;   esac    doneclear                                      

操作全是整数,执行的例子如下:

        

 

0 0