shell 四则运算

1. 使用expr命令

expr命令可以用于执行基本的算术运算。注意,运算符之间需要有空格。

result=$(expr 5 + 3)
echo $result  # 输出:8

对于乘法,需要使用反斜杠 \* 进行转义,因为 * 在Shell中有特殊的含义(作为通配符)。

result=$(expr 5 * 3)
echo $result  # 输出:15

2. 使用let命令

let命令允许你在Shell中进行算术运算,并直接更新变量的值。

result=5
let result=result+3
echo $result  # 输出:8

3. 使用双括号(( ))

双括号结构允许你进行算术扩展,并且可以直接在条件语句中使用。

result=$((5 + 3))
echo $result  # 输出:8

if ((result > 7)); then
    echo "Result is greater than 7"
fi

4. 使用bc命令

bc是一个任意精度的计算器语言,它可以用于执行复杂的数学运算。

result=$(echo "5 + 3" | bc)
echo $result  # 输出:8

对于浮点运算,bc非常有用,因为它默认支持小数。

result=$(echo "5 / 3" | bc -l)  # -l 选项启用长浮点运算
echo $result  # 输出:1.6666666666666667

5. 使用awk命令

awk是一个强大的文本处理工具,它也可以用来进行数学运算。

result=$(awk 'BEGIN {print 5 + 3}')
echo $result  # 输出:8

选择哪种方法取决于你的具体需求和你所使用的Shell环境。对于简单的整数运算,双括号(( ))通常是最方便和高效的选择。对于更复杂的运算或需要浮点支持的情况,bc可能是一个更好的选择。

你可能还喜欢下面这些文章

php print 这个坑,遇到连接符从右往左执行

在使用php的时候,我很少用到print这个函数,哦,不对,这是一个语言结构,而并非日函数!看一段代码

linux命令:cd命令,改变当前的工作目录

原标题 : 每天一个linux命令(2):cd命令Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧。命令格式cd 命令功能切换当前目录至dirName常用范例例一:进入系统根目录命令cd /输出# cd /说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目录了命令cd .. 或者 cd .. //输出:# pwd/opt/soft# cd ..# cd ..//# pwd/说明:进入系统根目录可以使用“ cd .. ”一直退,就

std::endl为什么导致程序变慢

最近在写hadoop的streaming任务,在输出的时候用了std::endl,就像下面这样:运行后发现程序跑的比python还慢,令人费解。我入门C++的时候,输出hello world也是这样写的,有什么问题?于是查了一下std::endl,发现问题挺大。std::endl解释如下:也就是说每次执行到std::endl的时候都会将缓冲区的内容写入到输出的对象中,这样一来速度慢也就不足为奇。性能测试不加std::endl性能高出20倍。如果程序的逻辑十分简单,那么输出字符串的时候最好用"\n"代替加std::endl

linux命令:ls用法,列出文件及目录

原标题:每天一个linux命令(1):ls命令ls 命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单,如果ls指定其他目录那么就会显示指定目录里的文 件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls 命令在日常的linux操作中用的很多!ls命令格式ls  命令功能列出目标目录中所有的子目录和文件。常用参数-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。

linux命令桌面壁纸

  linux命令桌面壁纸 作为桌面,再也不怕记不住linux命令了

php运算符的优先级

无论在哪个语言,运算符都有优先级,就如四则运算一样。先乘除后加减,但语言的运算可不止四则。代码写的越多,越觉得运算符的优先级重要性(请原谅我是一个野生程序员)。记住运算符的优先级,能让你少些很多括号,也能体现你的水平,别闹笑话了(在有一个加法和一个乘法的式子中,还特地把乘法用括号括起来,这不是闹笑话吗)。更能够让那种无厘头的bug消失!php官方给出的运算符优先级表(从上到下,优先级依次降低)结合方向运算符附加信息无clone newclone 和 new左[array()右++ -- ~ (int) (float) (string) (array) (object) (bool) @类型和递

看看php的boolean都有哪些,以及其有趣的用法

在写if的时候,在写while的时候,总感觉不写一个true或者false就难受。是的,你还不明确php里面都有哪些值是true,哪些值是false!除了false的,都是true!php里面为false的东西 布尔值 本身 整型值 0(零) 浮点型值 0.0(零) 空字符串,以及字符串 "0" 不包括任何元素的数组 不包括任何成员变量的对象(仅 PHP 4.0 适用) 特殊类型 NULL(包括尚未赋值的变量) 从空标记生成的 SimpleXML 对象 既然说了除了false以外的都是true了,那么就别天真的以为-1是false了,它也是true。有趣的boo

python学习笔记:二、 流程控制

根据如何学习一门新的语言这篇文章的指导,现在的步骤就是学习这门语言的流程控制了。通常来讲,流程控制有顺序,选择,循环这几种。python也不例外,也有这三种流程控制。下面的一一学习。顺序顺序语句很简单,从上往下依次顺序执行。如:a = 1b = 2print(a+b)上面的语句就是顺序执行的语句。选择选择通常使用if和switch,但python中只有if这一个选择语句。语法是:if 满足条件1: 语句1elif 不满足条件1满足1条件2 语句2else 都不满足 语句3比如用一个实际的例子a = 1b = 2if a > b: print('a>b')el

shell中map的使用

bash 4.1.2 版本增加了map数据结构。map是一种常用的数据结构,通过map可以将key映射到一个value。使用方法map在使用之前需要先声明,声明的方式如下map需要先声明再使用。参数-A表示声明的变量是一个map。需要注意的是这里的A是大写的字母A。赋值操作map的赋值有两种方式,一种是直接给map赋值,如下:另一种是使用下标给map添加key-value对输出所有的key在文中最开始提到map的使用需要先声明,在没有声明的情况下此处会输出一个0,如下图:输出所有value输出map长度遍历,根据key找到对应的value遍历所有的key遍历所有的value问题FAQQ:为什么

Shell中的条件判断语句if的用法

shell中的if语法是最让我头疼的语法之一,它的判断就向使用USB插头一样——拿起来插入不行,翻转再插入还不行,再翻转插入行了!为了搞清楚这部分语言,我收集了一些文章关于if条件判断的用法,希望对你也有些帮助。一、基本语法语法说明bash shell会按顺序执行if语句,如果command执行后且它的返回状态是0,则会执行符合该条件执行的语句,否则后面的命令不执行,跳到下一条命令。当有多个嵌套时,只有第一个返回0退出状态的命令会导致符合该条件执行的语句部分被执行,如果所有的语句的执行状态都不为0,则执行else中语句。返回状态:最后一个命令的退出状态,或者当没有条件是真的话为0。注意:1、表

赞赏

微信赞赏支付宝赞赏

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注