Linux有关Shell算数运算的用法补充笔记

1、自增自减

Shell的自增自减和其他编程语言的语法基本上是一样的。主要包括四种:前置自增、前置自减、后置自增、后置自减。前置的原理是先修改变量的值,然后将变量的值传递出去。后置的原理是先将变量的值传递出去,然后再修改变量的值。自增符号:++;自减符合:--,操作变量只能是变量,不能是常数或者表达式。

用法示例:

num=10

echo ${num}

输出:10

num++

echo ${num}

输出:11

num--

echo ${num}

输出:10

2、采用$[]进行运算处理

$[]和$(())用法相似,可以用于简单的算数运算。

简单示例:

echo $[5+5]

输出:10

echo $[5*5]

输出:25

echo $[5/2]

输出:2

3、使用expr做运算

expr命令也是用于整数运算。他和其他的算数运算方式不同,需要操作数和操作符号之间用空格隔开,否则会原样输出字符串。

并且特殊的操作符需要转义(比如:*)。

目前expr支持的算数运算符号有加、减、乘、除、求余等。

示例:expr 1+5

输出:1+5

expr 1 + 5

输出:6

expr 3 \* 6

输出:18

4、内建运算命令declare

首先看一个例子:

1、不声明变量num

num=3+5

echo $(num)

输出:3+5

2、声明变量num为数字

declare -i num

num=3+5

echo $(num)

输出:8

说明:如果使用declare显示定义整数变量再去执行3+5系统会解析为算术运算。

本文分享自微信公众号 - IT技术分享社区(gh_a27c0758eb03)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

mysql的自增id 用完了怎么办?

mysql的自增id用完了怎么办?createtabletest\_auto\_increment\_id(idintUNSIGNEDauto\_incrementPRIMARYKEY,nameVARCHAR(255));执行sql语句!(https://oscimg.oschina.net/oscnet/updfcee9

mysql自增id获取

mysql自增id获取使用max函数:selectmax(id)fromtablename 优点:使用方便快捷。缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。使用LAST\_INSERT\_ID

JAVA 基础2

一.运算符1.算数运算符::加或正;\:减或负;\:乘;/:除;%:取余;:自增长运算符;写在变量前面表示先自增再赋值;写在变量后面表示先赋值再自增;\:自减少运算符;用法同;2.关系运算符:其返回的一定是布尔值;