Shell系列(33) - 多分支if语句简介及计算器例子
2024-10-19 11:08:37
多分支if条件语句
- if [ 条件判断式1 ]
- then
- 当条件判断式1成立时,执行程序1
- elif [ 条件判断式2 ]
- then
- 当条件判断式2成立时,执行程序2
- ...省略更多条件...
- else
- 当所有条件都不成立时,最后执行此程序
- fi
exit 自定义错误码:返回错误码,程序退出不再运行,后面的脚本程序不再执行
计算器
需求分析
- 有没有输入内容
- 判断输入的内容是不是数值
- 判断输入的运算符
- 执行运算符操作
脚本
- #!/bin/bash
- #声明result整型变量
- declare -i result
- #接收用户输入参数
- read -p "请输入第一个数字:" -t 30 num1
- read -p "请输入运算符:" -t 30 ope
- read -p "请输入第二个数字:" -t 30 num2
- #-n 判断用户输入是否非空,非空为真;-a 多个判断同时为真,返回为真
- if [ -n "$num1" -a -n "$ope" -a -n "$num2" ]
- then
- #使用sed替换,查找用户输入内容有数字的替换为空值
- test1=$(echo "$num1" | sed 's/[0-9]//g')
- test2=$(echo "$num2" | sed 's/[0-9]//g')
- #-z 判断字符是否为空,为空返回真
- if [ -z "$test1" -a -z "$test2" ]
- then
- if [ "$ope" == '*' ]
- then
- result=$(($num1*$num2))
- elif [ "$ope" == '+' ]
- then
- result=$(($num1+$num2))
- elif [ "$ope" == '-' ]
- then
- result=$(($num1-$num2))
- elif [ "$ope" == '/' ]
- then
- result=$(($num1/$num2))
- else
- echo "运算符格式输入错误"
- #返回错误码10
- exit 10
- fi
- else
- echo "数字输入错误"
- exit 11
- fi
- else
- echo "请输入数字"
- fi
- echo "$num1 $ope $num2 = $result"
最新文章
- BFC之浅析篇
- 经典功率谱估计及Matlab仿真
- iOS中的UI
- log4j日志文件配置说明及使用
- JQuery中serialize()、serializeArray()和param()方法示例介绍
- the OS maintains a number of queues
- 织梦dede_archives文章主表详细介绍
- MVC3中 ViewBag、ViewData和TempData的使用和区别(转发:汴蓝)
- python学习第十四天 -面向对象编程基础
- ARMv8 Linux内核head.S源码分析
- 深度学习实践系列(3)- 使用Keras搭建notMNIST的神经网络
- 安卓高级4 第三方库SlidingMenu的使用
- MySql Query Cache 优化
- PHP7 学习笔记(十六)Yaconf 一个高性能的配置管理扩展
- Oracle为表或字段添加备注
- 一,Serializer和ModelSerializer
- Java - fail-fast机制
- 高斯消去、追赶法 matlab
- 基本的RAID介绍
- idea搭建javaweb项目 Artifacts生成
热门文章
- Sqli-Labs less17-19
- 《JERRY Hexo &; GitHub 静态网站搭建说明》
- mongoose 更新数据时不验证数据(忽略设定的集合规则)的问题
- WPF : ControlTemplate和DataTemplate的区别
- C++面试题(四)——智能指针的原理和实现
- HttpClient4.3教程 第四章 HTTP认证
- 初识javaScript(慕课网学习笔记)
- JAVA中的策略模式strategy
- linux上传下载文件(转载https://www.jb51.net/article/143112.htm)
- Kickstart部署多系统