Linux Shell脚本攻略(1.5)

1.5 使用shell进行数学运算

在任何一种编程语言中,算术运算都是必不可少的,shell也不例外。

1.5.1 使用let、(())和[]进行算术运算

  • 可以使用普通变量赋值方法定义数值,这是,它会被保存为字符串。我们可以通过使用let、(())、[]等操作符,使得这些变量进行算术运算。例如:
#!/bin/bash
no1=4                        #此处no1义字符串形式存储
no2=5                        #此处no2义字符串形式存储
let result=no1+no2
echo $result                 #输出结果为 9
let no1++                    #等价于 let no1=no1+1
echo $no1                    #输出结果为5
let no2--                    #等价于 let no2=no2-1
echo $no2                    #输出结果为 4
let no1+=5                   #等价于 let no1=no1+5
echo $no1                    #输出结果为10
let no1-=5                   #等价于 let no1=no1-5
echo $no1                    #输出结果为 5 

no1=4                        #此处no1义字符串形式存储
no2=5                        #此处no2义字符串形式存储
result=$[ no1 + no2 ]
echo $result                 #输出结果为9
result=$[ $no1 + 5 ]         #ubuntu中不能正常运行,no1 not found
echo $result                 #输出结果为9
result=$(( no1 + 50 ))       #括号前的$不可丢失,否则报错
echo $result                 #输出结果为 54

1.5.2 使用expr进行算术运算

  • expr是比以上三个操作符更高级的操作符,可以警醒高级操作。例如:
#!/bin/bash
result=`expr 3 + 4`     #此处用的不是单引号,而是tab键上面那个键的符号
echo $result            #输出结果为7
result=`expr 3+4`       #3与+号之间每空格
echo $result            #输出结果为 3+4                          
  • 注意:1.5.1和1.5.2中的方法都只能对整数进行计算,无法进行浮点数计算。

1.5.3 使用bc进行算术运算

  • bc是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项,参数通常置于要执行的具体操作之前,同时以分号作为定界符,通过sdtin传递个bc。例如:
echo "4 * 0.56" | bc       #输出结果为2.24

no=54
result=`echo "$no * 1.5 " | bc`
echo $result                #输出结果为81.0

echo "scale=2;3/8"          #通过scale舌质小数的精度,输出结果为 0.37

no=100
echo "obase=2;$no" | bc  #进制转换,目标进制为二进制,默认原进制为10
no=1100100
echo "obase=10;ibase=2;$no" | bc #obase=10,ibase=2
echo "sqrt(100)" | bc     #计算平方根
echo "10^10" | bc         #计算平方

-注意:obase为目标进制,ibase为原进制,默认情况下原进制为10.

1.5.4 参考

Linux Shell脚本攻略

时间: 2024-10-12 22:44:01

Linux Shell脚本攻略(1.5)的相关文章

Linux Shell脚本攻略(1.10)

1.10 获取.设置日期和延时 很多应用程序需要以不同的格式打印日期.设置日期和时间.根据日期和时间执行某项操作.延时通常用于在程序执行过程中提供一段等待时间(比如1秒).同样的,我们也能够一多种格式打印日期,或者在命令行中设置日期.在类Unix系统中,日期被存储为一个整数,其大小为自世界标准时间起所流逝的秒数.这种计时方式称为纪元时或Unix时间. 1.10.1 获取.设置时间 以下的程序给出了多种用法: #!/bin/bash start=$(date +%s) #获取纪元时间 date #

Linux Shell脚本攻略(1.8)

1.8 使用别名 linux中的别名就相当于windows中的快捷方式,使用别名可以省去用户输入一长串命令序列的麻烦. 1.8.1 创建临时别名(快捷方式) alias new_command='command sequence' #格式说明 alias install='sudo apt-get install' #实例说明 在声明 install='sudo apt-get install'之后,就可以用install代替'sudo apt-get install'了.使用这种方式声明的别名

Linux Shell脚本攻略(1.2)

1.2 终端打印 终端是交互式工具,用户可以通过它与shell环境进行交互.在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务.通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的. echo终端打印 echo "Welcome to Bash" echo 'Welcome to Bash' echo Welcome to Bash 以上三种方法的效果是一样的,输出内容都是"Welcome to Bash",并在末尾添加换行符.在默认情

LINUX SHELL脚本攻略笔记[速查]

Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述符和重定向 cat 数组和关联数组 alias date 调试脚本 函数和参数 管道 读取命令输出 read 字段分隔符和迭代器 循环 比较和测试 find xargs tr md5sum sha1sum 对目录进行校验 sort uniq tempfile split bash变量匹配切分 exp

Linux Shell脚本攻略(1.7)

1.7 数组和关联数组 数组是Shell脚本非常重要的组成部分,它借助索引将多个独立的独立的数据存储为一个集合.普通数组只能使用整数作为数组索引,关联数组不仅可以使用整数作为索引,也可以使用字符串作为索引.通常情况下,使用字符串做索引更容易被人们理解.Bash从4.0之后开始引入关联数组. 1.7.1 定义打印普通数组 数组的方法有如下几种: #在一行上列出所有元素 array_var=(1 2 3 4 5 6) #以"索引-值"的形式一一列出 array_var[0]="t

Linux Shell脚本攻略(1.3)

1.3 玩转变量和环境变量 变量是任何一种编程语言都必不可少的组成部分,用于存放各种类型的变量.脚本语言大多是弱类型语言(动态语言),也就是说在使用变量时,不需要事先声明变量的类型,只需要直接赋值就可以.在Bash中,每一个变量的值都是字符串.无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.有一些特殊的变量会被shell环境和操作系统保留,用来存储一些特别的值,这类变量就称为环境变量,相信大家对环境变量也并不陌生,因为即使在windows操作系统上,也存在环境变量. 普通变量 普通变

老李分享:《Linux Shell脚本攻略》 要点(八)

老李分享:<Linux Shell脚本攻略> 要点(八) 1.打印进程 [[email protected] program_test]# ps -e | head  PID TTY          TIME CMD    1 ?        00:00:03 init    2 ?        00:00:00 kthreadd    3 ?        00:00:00 migration/0    4 ?        00:00:00 ksoftirqd/0    5 ?   

老李分享:《Linux Shell脚本攻略》 要点(二)

老李分享:<Linux Shell脚本攻略> 要点(二) poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478.Linuxshell是测试开发工程师的基本功之一,所以在poptest测试开发课堂上加入了大量的linuxshell的课程,为了学员开发跨平台的测试平台打基础. 1.cat cat -s //多个空白行压缩成一个 cat *.txt | tr -s '\n'   //

Linux Shell脚本攻略(1.4)

1.4 使用函数添加环境变量 1.4.1 简介 环境变量通常用于存储路径列表,这些路径用于搜索可执行文件.库文件等.例如:$PATH.$LD_LIBRARY_PATH,它们通常看起来像这样: PATH=/usr/bin;bin LD_LIBRARY_PATH=/usr/lib;lib 这意味着只要shell需要运行二进制可执行文件时,它会首先查找/usr/bin,然后查找/bin.在ubuntu14.04中,PATH和LD_LIBRARY_PATH存储的路径如下所示: PATH=/usr/loc