现在的位置: 首页 > 操作系统 > 正文

shell编程so easy(二)

2020年01月08日 操作系统 ⁄ 共 1137字 ⁄ 字号 评论关闭

导读如今,不会Linux的程序员都不好意思说自己是程序员,不会shell编程的就不能说自己会linux。shell如此重要,但实际上shell编程却很简单。

基本数据类型运算

整数运算

在shell中,有两种方式能实现整数运算,一种是使用expr命令, 另外一种是通过方括号($[])来实现。

expr

#!/bin/bash#输出13expr 10 + 3#输出10+3expr 10+3#输出7expr 10 - 3#输出30expr 10 \* 3#输出3expr 10 / 3#输出1expr 10 % 3#将计算结果赋值给变量num1=$(expr 10 % 3)#将计算结果赋值给变量num2=`expr 10 % 3`

在以上的乘法(*)中,我们用了反斜线(\)来转义

运算符前后必须还有空格,否则会被直接当作字符串返回

如果要将计算结果保存到变量,就需要用到我们上篇文章讲到的那两种方式($() 或者 ``)来替换命令

方括号($[])

#!/bin/bashnum1=10num2=3#输出num1 + num2=13echo "num1 + num2=$[$num1 + $num2]"#输出num1+num2=13echo "num1+num2=$[$num1+$num2]"#输出num1 - num2=7echo "num1 - num2=$[$num1 - $num2]"#输出num1 * num2=30echo "num1 * num2=$[$num1 * $num2]"#输出num1 > num2=1echo "num1 > num2=$[$num1 > $num2]"#输出num1 < num2=0echo "num1 < num2=$[$num1 < $num2]"#将运算结果赋值给变量,输出num3=3num3=$[$num1 / $num2]echo "num3=$num3"

浮点运算

在shell中,做浮点运算一般是用bash的计算器(bc)。在shell脚本中,一般我们的使用方法是:variable=$(echo "options; expression" | bc)options是bc的一些选项,例如: 可以通过scale去设置保留的小数位数。具体有哪些参数,可以man bc进行查看expression就是我们具体的表达式,例如 10 * 3" | " 这个符号,对于熟悉linux系统的人来说,这个再熟悉不过了。它叫做管道, 之所以会叫做管道,其实很形象,你可以把它看作一根水管,水管一头接入前一个命令的返回结果, 一头接入下一个命令。表示将前一个命令的执行结果作为后一个命令的参数输入。以上,表示将我们的表达式作为bc的参数输入。

#!/bin/bash#表示 10/3, 保留2位小数,将结果赋值给了num, 输出3.33num=$(echo "scale=2; 10 / 3" | bc)echo $num

抱歉!评论已关闭.