bash中的算术运算:

操作符+、-、*、/、%

declare:

-i:整型变量

-x:环境变量,类似于export

1、let:进行算术运算,格式为let varName=算术表达式

如果计算结果为小数,小数部分被省略。

如:let sum=4+1,结果为5

echo $sum

let s=16/3,结果为5

echo $s

2、varName=$[算术表达式]

3、varName=$((算术表达式))

4、varName=`expr $num1 + $num2`,注意+好前后要有空格,否个为连字符。

例:写一个脚本,请计算1到100之和。

#!/bin/bash

declare -i sum=0;

for num in {1..100}

do

let sum=$sum+$num

done

echo $sum

例:写一个脚本,分别计算1到100之奇数之和和偶数之和。

#!/bin/bash

delcare -i oddSum=0,evenSum=0

for i in `seq 1 2 100`

do

let oddSum=$oddSum+$i

done

echo $oddSum

for i in `seq 2 2 100`

do

let evenSum=$evenSum+$i

done

echo $evenSum

例:计算当前所有用户Id之和

#!/bin/bash

declare -i userIdSum=0

for i in `cut -d: f3 /etc/passwd`

do

userIdSum=$userIdSum+$i

done

echo $userIdSum

例:计算/etc/rc.d/rc.sysinit /etc/init.d/functions /etc/issue三个文件的字符之和

#!/bin/bash

declare -i charSum=0

for file in /etc/rc.d/rc.sysinit /etc/init.d/functions /etc/issue

do

charSum=$charSum+`wc -c $file|cut -d' ' -f1`

done

例:新建10个用户,tmpUser1-tmpUser10,并计算其Id之和

#!/bin/bash

declare -i userIdSum=0

for i in {1..10}

do

useradd tmpUser$i

let userIdSum=$userIdSum+`id -u tmpUser$i`

done

本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1547063 ,如需转载请自行联系原作者

bash中的算术运算相关推荐

  1. UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算

    复杂的数据结构和计算不是 bash 的特长.但它的确至少提供了数组和算术运算. 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 " ...

  2. 如何在Bash中比较字符串

    如何将变量与字符串进行比较(如果匹配则执行某些操作)? #1楼 要将字符串与通配符进行比较,请使用 if [[ "$stringA" == *$stringB* ]]; then# ...

  3. bash中(),{},(()),[],[[]]的区别

    前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上 ...

  4. 安卓linux终端 计算,5种在Linux终端中进行算术运算的方法

    在本文中,我们将向您展示在 终端中进行算术运算的各种有用方法. 在本文结束时,您将学习在 行中进行数学计算的基本不同实用方法.让我们开始吧! 1.使用Bash 在Linux CLI上进行基本数学运算的 ...

  5. linux 算术命令,shell中进行算术运算的各种方法

    shell中,无法直接进行算术运算,如果直接进行算术运算会出现如下情况. 从上图可以看出,默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串&qu ...

  6. linux shell 递增,如何在 Bash 中对变量递增或者递减

    原标题:如何在 Bash 中对变量递增或者递减 编写 Bash脚本时最常见的算术运算之一是递增和递减变量.这通常在循环中用作计数器,但它也可以在脚本的其他地方出现. 递增和递减意味着分别从数值变量的值 ...

  7. 如何在 bash 中使用索引数组

    数组是一种数据结构,表示具有相同数据类型的对象集合.bash shell中支持两种类型的数组:关联数组或索引数组.在本文中,将演示如何在 bash 中使用索引数组.以下使用 shell 示例来说明索引 ...

  8. 如何在 bash 中使用键值字典

    在字典中,字典存储一组键,每个键都有一个与之关联的值.可以使用对应的键在字典中插入.检索或更新值.字典数据结构针对基于键值的快速检索进行了优化,因此通常使用哈希表来实现.在不同的编程语言中,字典通常有 ...

  9. 2.7-egrep及bash中的变量

    egrep及扩展的正则表达式 egrep=grep -E grep [OPTIONS] PATTERN [FILE...] 扩展正则表达式的元字符: 字符匹配: .: []: [^]: 次数匹配: * ...

最新文章

  1. 厦门试点医疗大数据 产值有望达1200亿
  2. Xamarin Essentials教程振动Vibration
  3. [转载]宇宙文明等级的划分标准
  4. boost::gil::view_type_from_pixel用法的测试程序
  5. 一天学完spark的Scala基础语法教程八、集合(idea版本)
  6. mysql内部时区_一文解决MySQL时区相关问题
  7. artTemplate模板引擎的源码拜读
  8. Linux shell的条件判断、循环语句及实例
  9. 文都计算机考研辅导班哪个好,考研辅导班哪个好,海文还是文都?
  10. volatile 线程内存模型
  11. 西瓜书读书笔记4-Sigmoid函数
  12. 计算机睡眠断网,win7睡眠不断网设置方法汇总
  13. 基于C语言图书馆管理系统编程设计
  14. 10.7 a.m.小结
  15. Oracle 10g安装图解教程
  16. 20个必不可少的Python第三方库(存干货分享)!
  17. 1.13 08特殊日历计算
  18. python 今日头条视频自动上传_抖音视频怎么上传到今日头条?这个软件可一键操作很方便...
  19. c语言结构体memcmp,用memcmp()比较结构体
  20. 利用VRRP功能实现简单的路由器备份(图)

热门文章

  1. 算数运算符与关系运算符_【Flutter 110】Flutter手把手教程Dart语言——运算符
  2. 硬盘测试软件di,磁盘检测(Folder Size Professional)
  3. java多态是怎样产生的,java 多态产生的疑问
  4. vscode 模拟本地服务器打开文件,设置默认浏览器为chrome
  5. php 设置 最大内存,修改PHP的memory_limit限制的方法分享
  6. 使用jquery判断及改变checkbox选中状态
  7. Tablayout+ViewPager+Fragment 实现页面切换
  8. 要把AI建在赤道上的华为,为何用全栈全场景方案打响第一枪
  9. 英伟达用GAN生成脑瘤图像,训练出的AI医生,准确率提高16%
  10. Yann LeCun遭三位UC伯克利教授连怼:双重职位多重危害