Shell 实现简单计算器功能,脚本如下:[[email protected] scripts]# cat jisuan.sh

#!/bin/bash

print_usage(){

printf $"USAGE:$0 NUM1 {+|-|*|/} NUM2\n"

exit 1

}

#判断传入的参数是不是3个

if [ $# -ne 3 ]

then

print_usage

fi

firstnum=$1

secondnum=$3

op=$2

#对传入的参数进行判断看是不是合理

if [ -n "`echo $firstnum|sed ‘s/[0-9]//g‘`" ];then

print_usage

fi

if [ "$op" != "+" ]&&[ "$op" != "-" ]&&[ "$op" != "*" ]&&[ "$op" != "/" ];then

print_usage

fi

if [ -n "`echo $secondnum|sed ‘s/[0-9]//g‘`" ];then

print_usage

fi

echo "${firstnum}${op}${secondnum}=$((${firstnum}${op}${secondnum}))"

调试:[[email protected] scripts]# sh -x jisuan.sh 6 + 4

+ ‘[‘ 3 -ne 3 ‘]‘

+ firstnum=6

+ secondnum=4

+ op=+

++ sed ‘s/[0-9]//g‘

++ echo 6

+ ‘[‘ -n ‘‘ ‘]‘

+ ‘[‘ + ‘!=‘ + ‘]‘

++ sed ‘s/[0-9]//g‘

++ echo 4

+ ‘[‘ -n ‘‘ ‘]‘

+ echo 6+4=10

6+4=10

[[email protected] scripts]# sh -x jisuan.sh 5 \* 5

+ ‘[‘ 3 -ne 3 ‘]‘

+ firstnum=5

+ secondnum=5

+ op=‘*‘

++ sed ‘s/[0-9]//g‘

++ echo 5

+ ‘[‘ -n ‘‘ ‘]‘

+ ‘[‘ ‘*‘ ‘!=‘ + ‘]‘

+ ‘[‘ ‘*‘ ‘!=‘ - ‘]‘

+ ‘[‘ ‘*‘ ‘!=‘ ‘*‘ ‘]‘

++ sed ‘s/[0-9]//g‘

++ echo 5

+ ‘[‘ -n ‘‘ ‘]‘

+ echo ‘5*5=25‘

5*5=25

注意:“-x”表示调试,可以看见执行的步骤

对应 “*” 需要加 “\”转义

shell实现简单计算机功能,Shell 实现简单计算器功能(示例代码)相关推荐

  1. html简单歌词同步教程,HTML5实现歌词同步(示例代码)

    开篇 HTML5的最强大之处莫过于对媒体文件的处理,如利用一个简单的vedio标签就能够实现视频播放.相似地,在HTML5中也有相应的处理音频文件的标签,那就是audio标签 audio标签 实现一个 ...

  2. 用统计功能计算机计算js,js实现计算器功能

    本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 知识点 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 代码如下 js计算器 计算器 .h ...

  3. uni-app - 最详细 H5 网页接入微信支付功能,提供从详细的示例代码与注释(移动端网页实现微信支付能力,微信公众号前端支付 JSAPI / JS-SDK 详细示例源码)官方最新超级详细教程

    前言 关于 uni-app 项目中接入微信支付的文章鱼龙混杂,各种 JSAPI / JS-SDK 乱代码.过时.没注释.不讲流程原理,非常难用. 本文实现了 uni-app H5 移动端网页项目,实现 ...

  4. html计算器的基本功能实现,javascript实现计算器功能

    本文实例为大家分享了javascript实现计算器功能的具体代码,供大家参考,具体内容如下 问题描述: 1.除法操作时,如果被除数为0,则结果为0 2.结果如果为小数,最多保留小数点后两位,如2 / ...

  5. 简单计算机app inventor,app inventor计算器

    <app inventor计算器>由会员分享,可在线阅读,更多相关<app inventor计算器(10页珍藏版)>请在人人文库网上搜索. 1.App Inventor之 计算 ...

  6. html中实现简单计算器功能,js实现简易计算器功能

    制作能进行加减乘除的简易计算器,主要是练习动态注册事件.因以练习为主,所以包含了较多基础方法. 效果图 代码 简易计算器 window.onload = function(){ document.on ...

  7. 简单的java单位换算_单位换算示例代码

    package api.jisuapi.unitconvert; import java.net.URLEncoder; import api.util.HttpUtil; import net.sf ...

  8. 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)

    进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...

  9. 数学计算机代码,GeoGebra(数学图形计算器)(示例代码)

    插件介绍: 数学是我们生活中不可缺少的一部分,处处都会用的数学,在学习数学的过程中,普通的计算器已经无法满足数学学习了,图形计算器就运应而生,这大大滴提高了小伙伴们的学习效率,今天就给大家介绍一款图形 ...

  10. android代码查找快捷键是什么,Android Studio搜索功能(查找功能)及快捷键图文详解(示例代码)...

    1.在当前窗口查找文本[Ctrl+F] F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[fi ...

最新文章

  1. 来看看BAT在AR领域的布局,你给打几分?
  2. 如何用计算机猜数字,杭电2010计算机复试笔试题 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;...
  3. 阿里云 rds 在windows 里面恢复
  4. 【探索PowerShell 】【一】初识
  5. Python爬虫进阶五之多线程的用法
  6. 风雨彩虹,铿锵玫瑰——女足夺冠
  7. ios 常用操作-1
  8. jstl视图_使用JSTL视图探索Spring Controller
  9. 后疫情时代,银行从数字化转型到智能化“迁徙”
  10. 必须掌握的Python技巧(三)
  11. python运行出现SyntaxError: 'return' outside function的原因和解决办法
  12. ansible+ssh自动化运维
  13. 多校赛 Barareh on Fire
  14. 初识python之django创建工程
  15. 计算数据个数mysql thinkphp_ThinkPHP5 (mySQL) 统计各个时间段内的订单量
  16. useragent 全集 firefox插件 useragetn switch 使用
  17. 贝叶斯分析好坏_贝叶斯分析基础——可信度、模型和参数
  18. 计算机电子电路原理图,简单电路图入门-电路原理图入门知识图解
  19. 记录“麻辣香锅”病毒处理过程
  20. windows系统下进入jupyter本地服务器(localhost)的步骤

热门文章

  1. [C]结构体数组初始化
  2. 动态IP和静态IP区别,别傻傻分不清楚!
  3. 为何觉得静态ip比动态ip的网速更快
  4. 体渲染-------颜色、不透明度调整
  5. thinkphp6 循环 视图_ThinkPHP6 视图
  6. [洛谷] P3174 [HAOI2009]毛毛虫 (树形dp 树的最长直径的扩展)
  7. word流程图怎么做虚线框_Word2016如何制作虚线文本框?
  8. 内存分配方式与内存分配算法
  9. Air720UGUH 极简封装 LTE Cat.1 bis 模块[合宙通信]
  10. 使用python进行数据抽样