用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash

if [ $# -ne 3 ]

then

echo "参数个数应该为3,例如:$0 1 + 2"

echo "当使用乘法时,需要加上脱义符号,例如:$0 1 \* 2"

exit 1;

fi

num1=`echo $1|sed 's/[0-9.]//g'`

if [ -n "$num1" ]

then

echo "$1不是数字"

exit 1

fi

num3=`echo $3|sed 's/[0-9.]//g'`

if [ -n "$num3" ]

then

echo "$3不是数字"

exit 1

fi

case $2 in

+)

echo "scale=2;$1+$3" | bc

;;

-)

echo "scale=2;$1-$3" | bc

;;

\*)

echo "scale=2;$1*$3" | bc

;;

/)

echo "scale=2;$1/$3" | bc

;;

*)

echo "$2 不是运算符"

;;

esac

解析:

$# 参数的数量

$0 当前执行的进程名

num1 -ne  num2 不等于 [ 3 -ne $mynum ]

-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

sed   '【n1,n2】【[0-9a-zA-Z]】s/源字符串/目标字符串/g' filename

这里n1,n2是指区间n1到n2行,“s”就是替换的命令,“g”为本行中全局替换,如果不加‘g’,则只替换该行中出现的第一   个。除了可以使用“/”作为分隔符外,还可以使用其他特殊字符如“#”或者“@”。

bc命令是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算。参数scale=2是将bc输出结果的小数位设置为2位

使用case,如果$2为+,输出echo "scale=2;$1+$3" | bc

依次论推

如果$2不是加减乘除任一情况,则输出echo "$2 不是运算符"

linux shell 计算器 除0,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....相关推荐

  1. android 加减乘除计算器,【03-21求助】写一个简易计算器的安卓app,一按加减乘除就退出...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.example.ag; import android.app.Activity; import android.os.Bundle ...

  2. linux脚本计算器加减乘除,用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2#!/bin/bash if [ $# -ne 3 ] then echo &quo ...

  3. 用shell写一个简易计算器,可以实现加、减、乘、除运算,假如脚本名字为1.sh,执行示例:./1....

    用shell写一个简易计算器,可以实现加.减.乘.除运算,假如脚本名字为1.sh,执行示例:./1.sh 1 + 2 #!/bin/bash if [ $# -ne 3 ] thenecho &quo ...

  4. java简易计算器考察什么_练习:用java写一个简易计算器

    初学java中的选择,判断,循环和方法的概念,写一个简易的两位数计算器 思路推荐: 写4个方法:加减乘除 利用循环+switch进行用户交互 传递需要操作的两个数 输出结果 package com.j ...

  5. js 月份间隔计算器_15分钟用JS做一个简易计算器

    原标题:15分钟用JS做一个简易计算器 前言 这个小练手旨在帮助刚上手学习Java的同学练习最基本的Js知识,大神勿喷哈,由于这个是非常简易的计算器,可以完成的功能有加减乘除和AC(清屏),DEL(退 ...

  6. javascript从0到0.9手写一个windows计算器

    说实话,最初想用javascript模拟着windows的计算器写一个的时候,感觉也就是10分钟搞定,但写着写着发现,其实并不是那么容易的事,window的这个计算器逻辑挺多的. 而且还想给别人把这个 ...

  7. Android写一个简易计算器(可以实现连续计算)

    发一个库存程序,好像是几个礼拜之前写的吧,是一个用安卓实现的简易的计算器,写这个小程序之前,看了很多人写的计算器,觉得使用一个 EditText,并将它设置为不可编写,是比较好的解决方案. 设计思路主 ...

  8. js写一个简易计算器

    <!DOCTYPE html> <html><head><title> 简易计算器</title><script type=" ...

  9. linux qt小型计算器课程设计,用Qt设计一个简易计算器

    Qt工作原理: 事件驱动,信号与槽原理. 要实现简易计算器的设计需要将界面按钮转到槽,具体程序如下: Widget.h : #ifndef WIDGET_H #define WIDGET_H #inc ...

最新文章

  1. 山东人为什么爱用倒装句?没有吧我觉得。
  2. qt chart 如何使网格填满整个窗口_Qt实现截屏的关键函数
  3. js实现QQ、微信、新浪微博分享功能
  4. linux 删除分区_详解linux系统架构--文件系统体系
  5. 最近很火的桌面小猫代打器 人性化UI设置界面
  6. Android视频播放
  7. 异常已存在具有相同键的条目。_从Viticis Fructus分离的环烯醚萜类化合物抑制紫杉醇诱导的小鼠机械性异常性疼痛...
  8. 内网客户用outlook2010连接Exchange2010
  9. opensips日志配置
  10. Jenkins实现测试环境到生产环境一键部署(Windows)
  11. matlab在傅里叶里的应用,MATLAB在傅里叶变换中的应用
  12. (ensp)华为USG6000v防火墙双机热备份的配置
  13. 探索游戏开发中的关卡设计+游戏开发中的关卡草图设计【笔记】
  14. java中md5加密_JAVA中使用MD5加密实现密码加密
  15. ScrollView嵌套Tablaout与ViewPager联动(标签)(ScrollView与ViewPager冲突)
  16. html5 视差地图,用HTML5构建高性能视差网站的图文代码详解
  17. BP神经网络理解及公式推导
  18. python+flask项目实战开发
  19. codeforces-26A-Almost Prime【分解质因数】
  20. 常用RGB颜色值对照表

热门文章

  1. Python入门100题 | 第074题
  2. tensorflow1中如何设置GPU的使用
  3. LeetCode-二叉树-94. 二叉树的中序遍历
  4. 搜索引擎solr系列---多字段匹配的实现方法
  5. lucene join解决父子关系索引
  6. 支付系统的对账处理与设计--转
  7. zookeeper源码分析之三客户端发送请求流程
  8. 数学建模学习笔记——层次分析法(评价类,专家打分一般不用)
  9. 机器学习算法基础——k-means原理
  10. 使用vue-cli+element-ui+expsess+mysql做一个简易的登录功能