1、使用bash

使用双括号可以像C语言一样直接使用运算符进行计算。

echo $((+))
a=$((*))
echo $a
b=$(($a-))
echo $b
d=$(($b/))
echo $d
e=$(($a%))
echo $e

2、使用let命令

使用let命令后,可以直接跟表达式,不用加双括号。

let a=+
echo $a
let b=$a*
echo $b
let c=$b/
echo $c

3、使用expr命令

类似于let命令,expr命令除了计算表达式,还将提供的表达式的值打印到标准输出。以及使用expr进行比较,增加变量值和查找字符串长度。

expr  +
expr %
expr \*
expr 5 - 3
expr / 4
NUM=$(( 1 + 2))
echo $NUM
NUM=$(expr $NUM + 2)
echo $NUM

需要注意的是使用expr命令时,数字与运算符之间要用空格隔开。并且”*“需用转义符“\”标注。

expr 还可以用来比较大小,当表达式求值为false时,expr将打印值0,否则打印1。

expr  =
expr =
expr !=
expr \>
expr \<
expr \<= 5

同时expr可以用来查看字符串长度。

expr length "hello world!"
#等效于
echo "hello world!" | wc -L

更多expr用法请参照man expr。

4、使用bc命令

bc其实就是一个基于终端的计算机程序,有交互和非交互两种使用方式。

直接输入bc就可以进入交互模式,在里面输入表达式即可。

同时也可以通过管道来使用。

echo '3+4' | bc
echo '3*4' | bc
echo '33/4' | bc
echo '32%6' | bc
echo '33/6' | bc -l

-l 用于精确到小数(默认小数点后20位)计算。

5、使用awk命令

awk非常强大,功能也非常多,这里只介绍其用于算数运算。

awk 'BEGIN { a = 10; b = 3; print "(a + b) = ", (a + b) }'
awk 'BEGIN { a = 10; b = 3; print "(a - b) = ", (a - b) }'
awk 'BEGIN { a = 10; b = 3; print "(a * b) = ", (a * b) }'
awk 'BEGIN { a = 10; b = 3; print "(a / b) = ", (a / b) }'
awk 'BEGIN { a = 10; b = 3; print "(a % b) = ", (a % b) }'

6、使用factor命令

factor命令用于将整数分解为素数因子

factor
factor
factor
factor

总结在Linux终端中进行算术运算的6种方式的更多相关文章

  1. Linux系统中安装软件的几种方式

    转载:https://blog.csdn.net/qq_36119192/article/details/82866329 好长时间没有静下心来学习一下linux了 最近对linux安装软件有了点小小 ...

  2. 如何在 Linux 终端中知道你的公有 IP

    导读 在本文中我将会介绍在几种在 Linux 终端中查看你的公有 IP 地址的方法.这对普通用户来说并无意义,但 Linux 服务器(无GUI或者作为只能使用基本工具的用户登录时)会很有用.无论如何, ...

  3. 在Linux终端中查看公有IP的方法详解

    首先回顾一下一般的查看IP的命令: ifconfigLinux查看IP地址的命令--ifconfigifconfig命令用于查看和更改网络接口的地址和参数 $ifconfig -a  lo0: fla ...

  4. python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused

    python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...

  5. linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    系统调用:库函数封装了系统调用,通过库函数和系统调用打交道 用户态:低级别执行状态,代码的掌控范围会受到限制. 内核态:高执行级别,代码可移植性特权指令,访问任意物理地址 为什么划分级别:如果全部特权 ...

  6. LInux内核分析--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    实验者:江军 ID:fuchen1994 实验描述: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3 ...

  7. Linux内核设计第四周学习总结 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    陈巧然原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数A ...

  8. Shell脚本中执行mysql的几种方式(转)

    Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用 ...

  9. Linux查看实时网卡流量的几种方式

    Linux查看实时网卡流量的几种方式 来源  https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查 ...

随机推荐

  1. POJ2127 Greatest Common Increasing Subsequence

    POJ2127 给定两个 整数序列,求LCIS(最长公共上升子序列) dp[i][j]表示A的A[1.....i]与B[1.....j]的以B[j]为结尾的LCIS. 转移方程很简单 当A[i]!=B ...

  2. vue 基础知识 随笔

    window.localStorage.gettItem("someItem"||[])//如果localStorage中的someItem不存在就返回一个空数组 window.l ...

  3. 10. Extjs Button控件的handler配置项和click事件

    转自:https://blog.csdn.net/lishk314/article/details/41541797 查看API: click( this, e, eOpts ) Fires when ...

  4. xposed源码编译与集成

    xposed installer3.0版本之后,传统的xposed框架的使用方法是从官网上下载xposed installer.apk以及xposed-arm-sdk22.zip包.然后具体的使用方法 ...

  5. vue中sync,v-model----双向数据绑定

    需求:父子组件同步数据 实现方式:sync或者v-model 一.sync 官网:https://cn.vuejs.org/v2/guide/components-custom-events.html ...

  6. zabbix详细介绍及其自动动态发现

    zabbix3.2.1 第1章 安装 1.1 查看系统环境 [root@centos7-2 ~]# [root@centos7-2 ~]# hostname -I 10.0.0.10 172.16.1 ...

  7. MySQL的两种存储引擎storage engine特点和对比

    MyISAM 优点:快速读取数据, 占用空间小 缺点:不支持事务,外键 (表级别锁) InnoDB 优点:支持事务,外键; 高性能(CPU效率高) 缺点: 慢,占空间 (行级别锁)

  8. Quartz.Net学习笔记(1)-完整的例子

    一.开发环境 系统:Win10 编译器:VS2013 .Net版本:4.5 Quartz版本:2.3.3 二.涉及程序集 Common.Logging.Core.dll Common.Logging. ...

  9. [ CCO 2015 ] Artskjid

    \(\\\) \(Description\) \(N\)个点\(M\)条边的有向图,求从\(0\)号节点出发,\(N-1\)号节点结束,且图中每个点至多经过一次的最长路. \(N\in[2,18]\) ...

  10. poj1240 Pre-Post-erous!

    思路: 根据前序序列和后序序列递归构造m叉树,确定每个节点的子节点数量.再用组合数公式累乘. 实现: #include <iostream> using namespace std; ][ ...