谢烟客---------Linux之Bash基础特性算术运算(5)

算术运算

算术:数学中最古老,最基础和最初等的部分.它研究数的性质及其运算.把数和数的性质,数和数之间的四则运算在应用过程中的经验积累起来,并加以整理,就形成了最古老的一门数学——算术

算术运算:数的加、减、乘、除以及乘方开方等数学运算,区别于几何运算。

算术运算的符号

完成基本的算术运算 (arithmetic operators) 符号,就是用来处理四则运算的符号

1)加法:同类事物的重复或累计,是数字运算的开始,不同类比如一个苹果+一个橘子其结果只能等于二个水果就存在分类与归类的关系

公式:被加数 + 加数 = 和 (a+b=c)

2)减法:加法的逆运算;减去一个数,等于加这个数的相反数

公式:被减数 - 减数 = 差 (a-b=c)

3)乘法:加法的特殊形式;相同的数加起来的快捷方式。其运算结果称为积。从哲学角度解析,乘法是加法的量变导致的质变结果

公式:被乘数 * 乘数 = 积 (a*b=c)

4)除法:乘法的逆运算;根据乘法表,两个整数可以用长除法(直式除法)笔算。 如果被除数有分数部分(或者说是小数点),计算时将小数点带下来就可以;如果除数有小数点,将除数与被除数的小数点同时移位,直到除数没有小数点。

公式:被除数÷除数=商(a÷b=c)

5)求模:取模运算(“Modulo Operation”)和取余运算(“Complementation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。

公式:

1.求 整数商: c = a/b;

2.计算模或者余数: r = a - c*b.

linux中: r=a%b (r<b)

6)水仙花数:水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。

Linux中算术运算

将数据从内存中取到cpu的寄存器,进行运算后,存回内存中,

存回原处: let count=$count+1

存到另一处: let var=$count+1

1)let命令

格式: let var=算术运算表达式

$ help let
let is a shell builtin
let: let var=算术运算表达式
$ num1=3
$ num2=10
$ let var=$num1+$num2
$ echo $var
13

2)变量引用实现赋值

格式:

var=$[算术运算表达式]

var=$((算术运算表达式))

echo $[算术运算表达式]

echo $((算术运算表达式))

$ var=$[$num2%$num1]
$ echo $var
1
$ echo $(($num2%$num1))
1

3)命令引用实现赋值,(命令中的运算符号,*会被解释为特殊字符,需要转义)

格式:

var=$(expr 被操作数 运算符 操作数)

$ var=$(expr $num2 \* $num1)
$ echo $var
30
$ echo $(expr $num2 \* $num1)
30

bash内建随机数生成器:$RANDOM (2^31-1)

求任意范围内的任意随机数: $A

1) let var=$RANDOM%$A

$ A=60
$ let var=$RANDOM%$A
$ echo $var
58

2) var=$[$RAMDOM%60]

[[email protected] ~]# var=$[$RANDOM%60]
[[email protected] ~]# echo $var
59

3) var=$(($RANDOM%60))

[[email protected] ~]# var=$(($RANDOM%60))
[[email protected] ~]# echo $var
13

4) var=$(expr $RANDOM % 60)

# var=$(expr $RANDOM % 60)
# echo $var
16

将变量存回原处:将变量中存储的数据取出,进行运算后,放回原处

[[email protected] ~]# count=1
[[email protected] ~]# let count=$count+1
[[email protected] ~]# echo $count
2
[[email protected] ~]# let count=$count+1
[[email protected] ~]# echo $count
3

增强型赋值:将变量中存储的数据取出,进行运算后,放回原处

符号: += -= *= /= %= ^=

count+=1  相当于  count=$count+1

count-=1  相当于  count=$count-1

count*=1  相当于  count=$count*1

....

[[email protected] ~]# let count+=1
[[email protected] ~]# echo $count
4
[[email protected] ~]# let count+=1
[[email protected] ~]# echo $count
5

自增、自减

count++   相当于  count+=1

count--      相当于 count-=1

[[email protected] ~]# let count++   #相当于let count+=1
[[email protected] ~]# echo $count
6
[[email protected] ~]# let count--   #相当于let count-=1  
[[email protected] ~]# echo $count
5
时间: 2024-10-18 19:38:12

谢烟客---------Linux之Bash基础特性算术运算(5)的相关文章

谢烟客---------Linux之Bash基础特性条件测试&&自定义退出状态码(6)

条件测试 判断某需求是否满足,需要由测试机制来实现. 根据命令的执行状态结果,表达不同的测试条件 1.根据id命令的执行状态结果,判断用户是否存在 [[email protected] ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected] ~]# echo $? 0 [[email protected] ~]# id help id: help: no such user [[email protected] 

谢烟客---------Linux之Bash基础特性

框架:     bash的引用:命令引用.变量引用     bash命令历史     bash中的通配符     bash中的管道     I/O重定向     命令补全     路径补全     bash的快捷键     命令的别名     命令行的展开      1)命令的执行结果与命令的执行状态结果      命令的执行结果: 用户输入命令+Enter后,命令如何执行     命令提示符,回车键后:bash切片,分析命令,[选项],参数,提请给内核,分配资源,运行为一个进程  1)用户接口

谢烟客---------Linux之Bash基础特性(2)

Linux之哲学思想 一切皆文件 避免交互,实现Bash编程 文本编程命令实现配置 组合小程序完成复杂任务 总结 过程式编程 解释执行 字符和数值存储的区别 shebang -> cpu ->解释器 数据类型 变量类型,即为内部数据的类型 bash 过程式编程.解释执行 变量的类型为:弱类型 11)Bash编程 编程风格:过程式编程.对象式编程 过程式编程:目的解决问题 只考虑数据怎么组织 指令组织数据 为了完成复杂的任务 顺序执行:逐个运行任务 选择执行:有一个标准,只执行某些代码片段 循环

谢烟客---------Linux之Bash基础特性变量(3)

变量 程序 = 指令(只读) + 数据(数据存储的位置变量.列表.数组) 指令可通过位置变量调用,向脚本传递的数据 变量名 可引用的"命名的内存空间":取了名字的内存空间,用名字即可调用事先划分的内存空间 变量类型 变量内部存储的数据的类型 变量类型的作用 限定了存储空间 限定了存储格式 限定了参与的运算 变量的类型 字符型 数值型 整型 浮点型 变量的类型 强类型 定义变量时,必须指定变量的类型,参与的运算必须符合要求 调用未申明的变量,会报错 弱类型 定义变量时,不用指定变量的类型

谢烟客---------Linux之Bash基础特性配置文件(4)

前言 在bash进程中,读取到bash进程内存中的数据,在bash进程终止时,进程中的数据会被操作系统回收,变量也是定义在当前shell进程内存空间的数据.在shell终止时,变量也会失效 作用 选项:定义命令的工作行为 配置文件也能定义工作行为,主要存储命令的诸多选项,定义长期有效的行为 功能 让用户能更好的使用bash 配置文件的分类 对所有用户生效的配置: /etc/profile,/etc/profile.d/ /etc/bashrc 对当前用户有效 ~/.bashrc ~/.bash_

0823第三课-2 Linux的文件系统 bash基础特性

1.linux文件系统 绝对路径:/ LSB: FHS(文件系统层级结构标准) FHS: /boot: 引导文件存放目录,例如kernel(vmlinuz).bootloader(grub, grub2): 包含开机菜单以及开机所需要的配置文件等等 [[email protected] boot]# lsconfig-2.6.32-504.el6.x86_64         lost+foundefi                                  symvers-2.6.3

2017-11-5Linux基础知识(10)bash基础特性

在上一章中我们讲述了bash基础特性之命令补全和路径补全以及它的命令引用,以及讲了文件管理命令,例如:复制.移动和删除,然后我们也讲述了变量,主要围绕着存储格式.数据范围和参与运算.那么这次我们继续讲述bash的基础特性,这一次我们讲述的是文件的通配符和IO重定向等. 一.globbing:文件名通配 我们在查询某些文件的时候,通常是在该目录下进行查找,有的时候文件繁多,想找一些特定的文件就得从该目录下逐个匹配进行查找进行通配,如果没找到则显示为空,找到的话就在下面显示该匹配结果的文件或目录,那

Linux之bash的特性

bash的特性(1)常用组合快捷键:,ctrl+d Ctrl+a: 跳转至命令行首 Ctrl+e: 跳转至命令行尾 Ctrl+u: 删除命令行首至当前光标所在处之前的所有内容 Ctrl+k: 删除当前光标所在处至命令行尾的所有内容 Ctrl+l: 清屏 Ctrl+c: 中止或取消 Ctrl+z: 把当命令送至后台 Ctrl+d:回到登陆用户登陆界面 (2)命令补全:命令的补齐,参数中目录或文件的补齐 当输入命令的部分是唯一的时候按TAB键就可以不全剩下的部分 当输入命令的部分不是唯一的,按两次T

linux文件系统及bash基础特性

linux文件系统 一.根文件系统 linux被识别的第一个被称为根之间关联的文件系统叫做根文件系统(rootfs),其他分区要想被读到,需要挂载到根目录的某个挂载点(根的子目录)上.根文件系统至关重要,整个文件系统统一访问入口. Linux引导启动时,默认使用的文件系统是根文件系统.其中一般都包括这样一些子目录: /boot 系统引导文件存放目录 /bin 供所有用户使用的命令(不能关联到独立分支)不能关联到独立分区,os启动即会用到的程序. /sbin 管理员使用特权命令.root-only