bash中的算术运算
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
bash中的算术运算相关推荐
- UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算
复杂的数据结构和计算不是 bash 的特长.但它的确至少提供了数组和算术运算. 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 " ...
- 如何在Bash中比较字符串
如何将变量与字符串进行比较(如果匹配则执行某些操作)? #1楼 要将字符串与通配符进行比较,请使用 if [[ "$stringA" == *$stringB* ]]; then# ...
- bash中(),{},(()),[],[[]]的区别
前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上 ...
- 安卓linux终端 计算,5种在Linux终端中进行算术运算的方法
在本文中,我们将向您展示在 终端中进行算术运算的各种有用方法. 在本文结束时,您将学习在 行中进行数学计算的基本不同实用方法.让我们开始吧! 1.使用Bash 在Linux CLI上进行基本数学运算的 ...
- linux 算术命令,shell中进行算术运算的各种方法
shell中,无法直接进行算术运算,如果直接进行算术运算会出现如下情况. 从上图可以看出,默认情况下,shell不会直接进行算术运算,而是把"算术符号"当做"字符串&qu ...
- linux shell 递增,如何在 Bash 中对变量递增或者递减
原标题:如何在 Bash 中对变量递增或者递减 编写 Bash脚本时最常见的算术运算之一是递增和递减变量.这通常在循环中用作计数器,但它也可以在脚本的其他地方出现. 递增和递减意味着分别从数值变量的值 ...
- 如何在 bash 中使用索引数组
数组是一种数据结构,表示具有相同数据类型的对象集合.bash shell中支持两种类型的数组:关联数组或索引数组.在本文中,将演示如何在 bash 中使用索引数组.以下使用 shell 示例来说明索引 ...
- 如何在 bash 中使用键值字典
在字典中,字典存储一组键,每个键都有一个与之关联的值.可以使用对应的键在字典中插入.检索或更新值.字典数据结构针对基于键值的快速检索进行了优化,因此通常使用哈希表来实现.在不同的编程语言中,字典通常有 ...
- 2.7-egrep及bash中的变量
egrep及扩展的正则表达式 egrep=grep -E grep [OPTIONS] PATTERN [FILE...] 扩展正则表达式的元字符: 字符匹配: .: []: [^]: 次数匹配: * ...
最新文章
- 厦门试点医疗大数据 产值有望达1200亿
- Xamarin Essentials教程振动Vibration
- [转载]宇宙文明等级的划分标准
- boost::gil::view_type_from_pixel用法的测试程序
- 一天学完spark的Scala基础语法教程八、集合(idea版本)
- mysql内部时区_一文解决MySQL时区相关问题
- artTemplate模板引擎的源码拜读
- Linux shell的条件判断、循环语句及实例
- 文都计算机考研辅导班哪个好,考研辅导班哪个好,海文还是文都?
- volatile 线程内存模型
- 西瓜书读书笔记4-Sigmoid函数
- 计算机睡眠断网,win7睡眠不断网设置方法汇总
- 基于C语言图书馆管理系统编程设计
- 10.7 a.m.小结
- Oracle 10g安装图解教程
- 20个必不可少的Python第三方库(存干货分享)!
- 1.13 08特殊日历计算
- python 今日头条视频自动上传_抖音视频怎么上传到今日头条?这个软件可一键操作很方便...
- c语言结构体memcmp,用memcmp()比较结构体
- 利用VRRP功能实现简单的路由器备份(图)
热门文章
- 算数运算符与关系运算符_【Flutter 110】Flutter手把手教程Dart语言——运算符
- 硬盘测试软件di,磁盘检测(Folder Size Professional)
- java多态是怎样产生的,java 多态产生的疑问
- vscode 模拟本地服务器打开文件,设置默认浏览器为chrome
- php 设置 最大内存,修改PHP的memory_limit限制的方法分享
- 使用jquery判断及改变checkbox选中状态
- Tablayout+ViewPager+Fragment 实现页面切换
- 要把AI建在赤道上的华为,为何用全栈全场景方案打响第一枪
- 英伟达用GAN生成脑瘤图像,训练出的AI医生,准确率提高16%
- Yann LeCun遭三位UC伯克利教授连怼:双重职位多重危害