文档章节

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

henni_719
 henni_719
发布于 2017/04/22 17:18
字数 363
阅读 3
收藏 0

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
   else
	echo $[ $[ $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    
done
clear                                      

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

        

 

© 著作权归作者所有

henni_719
粉丝 2
博文 466
码字总数 343938
作品 0
信阳
QA/测试工程师
私信 提问
【书评:Oracle查询优化改写】第五至十三章

【书评:Oracle查询优化改写】第五至十三章 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩...

技术小胖子
2017/11/15
0
0
《Cocos2d-x实战 JS卷 Cocos2d-JS开发》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659698.html 当当:http://product.dangdang.com/23659808.html 《Cocos2d-x实战 JS卷 Cocos2d-JS开发》源码及样...

智捷课堂
2015/03/26
0
0
《Cocos2d-x实战 Lua卷》上线了

感谢大家一直以来的支持! 各大商店均开始销售: 京东:http://item.jd.com/11659697.html 当当:http://product.dangdang.com/23659810.html 《Cocos2d-x实战 Lua卷》源码及样章下载地址: ...

智捷课堂
2015/03/26
0
1
Command模式(命令设计模式)

Command?? 把方法的调用用一个类的实例来承载,要管理工作的历史记录,创建这些方法执行的命令的集合,只需管理这些实例的集合即可,而且还可以随时再次执行过去的命令,或是将多个过去的命...

---dgw博客
2018/11/04
0
0
CLozure CL 多线程函数使用实例

CLozure CL 多线程函数使用实例 一、简单介绍 Common Lisp 的标准没有对多线程的描述,因此各种 CL 实现都给出了自己的多线程功能函数,具体细节有所不同,这里大致讲解一下 Clozure CL 的多...

FreeBlues
2013/02/04
0
5

没有更多内容

加载失败,请刷新页面

加载更多

在阿里云ecs服务器(linux之centos系统)安装调试nginx

购买阿里云ecs服务器实例 由于这里只是测试,我们就随便买一个(当然我就选最便宜的了,这里的抢占式实例测试完可以直接释放) 选择centos7.6镜像 点击下一步:网络和安全组 接下来选中开通h...

祖达
昨天
2
0
【阴阳师】真蛇10层记录

蛇切黑体系 追月神 散件一速,速度越高越好(220+) 镰鼬 招财二速,速度211以上; 山兔 火灵三速,速度180-200均可; 丑女 心眼四速,速度170左右即可; 大蛇 蚌精暴击套。速度高于阴阳师即...

Areya
昨天
4
0
js动态设置元素高度

this.$refs.xxx.style.height= this.contentHeight; 元素需要绑定

Carbenson
昨天
2
0
今天的学习

今天学到了ci框架中的查询语句的where条件语句: 1、$this->db->select('')->from('')->where('id = ??')->get()->result_array();2、$this->db->select('')->from('')->where('id', '??'......

墨冥
昨天
2
0
MySQL在高并发下的订单撮合、系统使用、共享锁与排他锁保证数据一致性

前序 距离上次择文发表,两月余久。2018年也即将要结束了,目前的工作依然是与区块链应用相关的,也很荣幸在9月初受邀签约出版暂名为《区块链以太坊DApp实战开发》一书,预计在明年年初出版。...

我最喜欢三大框架
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部