shell变量计算长度及加减运算方法总结

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

linux shell 变量定义,以及变量的输出,在shell编写中常常需要计算变量的长度,以及数字变量直接进行加减操作

变量定义
shell变量没有整形,字符串,浮点型等其余编程语言定义的数据类型

[root@mytest ~]# str=string

str是一个变量
变量输出

[root@mytest ~]# echo $str
string
或:
[root@mytest ~]# echo ${str}
string

变量常常需要计算字符的长度:

shell计算长度方式:

${#str}

[root@mytest ~]# echo ${#str}
6

特殊的变量:

当前的shell类型:

[root@mytest ~]# echo $SHELL
/bin/bash
[root@mytest ~]# echo $0
-bash

判断是否是超级用户

[root@mytest ~]# echo $UID
0
例如:
if [ $UID -ne 0 ];then
   echo 'not super root'
else
   echo 'root user'
fi

shell变量若是数字,常常也需要进行数学运算:

a=1
b=5
1.let直接进行计算

[root@mytest ~]# a=1
[root@mytest ~]# b=5
[root@mytest ~]# let c=a+b
[root@mytest ~]# echo $c
6

自增与自减

[root@mytest ~]# let c++
[root@mytest ~]# echo $c
7
[root@mytest ~]# let c--
[root@mytest ~]# echo $c
6

简写:

[root@mytest ~]# let c+=5
[root@mytest ~]# echo $c
11

2.操作符[]

[root@mytest ~]# d=$[ a+b ]
[root@mytest ~]# echo $d
6

也可以使用$

[root@mytest ~]# echo $[ $d+5 ]
11
[root@mytest ~]# echo $[ $d+$a ]
7

3.符号(())

[root@mytest ~]# echo $((a+19))
20
[root@mytest ~]# echo $((a+b))
6

4.expr 也可以用于基本的算数计算

[root@mytest ~]# echo `expr 2 + 6`
8
[root@mytest ~]# echo $(expr $a + 19)
20

也可以用两个变量

[root@mytest ~]# echo $(expr $a + $b)
6

需要注意,expr需要带上$变量符号,否则有报错,无法得出计算结果

[root@mytest ~]# echo $(expr a + b)
expr: non-integer argument
安卓SO层逆向实战:从静态分析到动态调试的完整指南 在移动安全领域,SO(共享库)层逆向是深入分析应用核心逻辑的关键技术。其原理在于,安卓应用常将关键算法、加密验证等敏感代码编译为原生SO文件,以提升逆向难度。掌握SO逆向技术,对于安全研究、漏洞挖掘和CTF竞赛具有重要价值,尤其在分析金融、游戏等高安全需求的应用场景时不可或缺。本文以实战案例为基础,系统讲解如何通过动静结合的方法,运用IDA Pro等工具进行SO文件分析,并重点演示动态调试技巧,帮助读者理解如何绕过反调试机制,高效定位关键函数与算法逻辑。 阅读详情

相关推荐

Linux shell编程之 - 获得一个变量长度

按你脚本的逻辑,第一次进入循环的是非法串长,在循环体内又没有一条语句来修改这个非法串长就成了死循环,所以还是要将read name。哦,是的,当时代码没有没有写完整,而我自己用的是完整的,所以就想当然以为这段也没错了。按照你的脚本的逻辑,如果首次输入的长度不是6是会死循环的呀。前面的朋友说得没错,会死循环,变量$length应该在循环里面重新赋值!这样name变量长度就读到asd变量了,但是会比实际的长度多1。不会啊,循环里面是交互的啊,只要符合条件就可以退出循环的。其中`号为“1”键左边的键。

m0_37449634的博客 825

Shell语言】Shell变量详解

Shell变量是一种弱变量,不关心是什么类型和含义。 Shell分3种类型: 用户变量、环境变量、特殊变量

翡翠泪滴的博客 1516

shell中求长度的几种常见方式

<1> 使用$#直接求解 echo ${#变量名}[root@localhost SHELL]# TE=muyingshiguang [root@localhost SHELL]# echo ${#TE} 14 [root@localhost SHELL]# <2>使用管道符与wc的组合求解 echo $变量名 | wc -L[root@localhost SHELL]# echo

github_33736971的博客 2783

shell变量详解

shell中,"-gt"或者"-lt"只能用于比较两个数字的大小,当我们想要比较两个字符串的ASCLL值时,则必须使用">"或者""或者""或者"

xiaopzi的博客 2017

shell变量的数值计算

shell变量的数值计算1、变量字符串长度计算及耗时对比1.1、计算变量字符串长度的不同方法[root@localhost ~]# chars=`seq -s " " 100` #定义一个以空格为分隔符1-100的变量[root@localhost ~]# echo ${#chars} #使用系统内置的变量计算变量长度291[root@localhost ~]# ...

weixin_34293911的博客 185

Linux 下的shell脚本编写

Shell脚本编写 Shell脚本不需要编译就可以运行 首先建立一个格式为.sh的文件,打开它。 echo命令的功能是在屏幕上显示一段文字。Echo “字符”功能与C语言中的printf()一样 脚本写好之后运行时权限不够要,chmod +x test.sh。 文件格式: #!/bin/bash # 注释 命令… 第一行中的符号“#!”用来指定解释执行该脚本文件的Shell程序。...

qq_34872644的博客 317

Shell学习(3)变量

变量与字符串 Bash shell没有所谓的“数据形态”,除非使用内置declare特别指定变量的型态。在Bash shell中,只有一种数据型态:以字符组成的字符串 不必经过事先声明的程序想用就用 设定变量值之后,该变量值只在当前的shell环境中有效。变量长度无限制,区分大小写。 设定变量方法变量名称=值  但好的习惯是把字符串用双引号或单引号括起来。等号的两边不能有空白,右侧...

浮夸 120

Linux的Shell编程基本语法

编写shell脚本的时候,最开始的第一行要加上:      #!/bin/bash 这句话是告诉系统用bash这个解析器 一、shell变量 shell变量和一些编程语言不同,一般shell变量赋值的时候不用带“$”,而使用或者输出的时候要带“$”。加减乘除的时候要加两层小括号。括号外面要有一个“$”,括号里面的变量可以不用“$”。需要注意的是,变量赋值,变量使用的时候不能有空格,否则会被...

南波湾凌晨4点的博客 296

linux小白起航历程(三)shell脚本

shell脚本初次接触得时候,我不清楚这到底是什么鬼,为什么要.sh,以及脚本里开头的!#/bin/bash是为什么。 简单得来说,这些都是能让系统识别你这是脚本文件的标识。 下面来说说shell脚本的流程 vim test.sh chmod +x test.sh ./test.sh 中间的chmod是通过给脚本文件的权限,让脚本能执行,否则会出现警告。 以下是一些代码,作为笔记 ...

Sucresmile的博客 296

Shell脚本学习-expr命令用法

Shell脚本学习

CCH2024的专栏 1284

C语言学习(四)shell脚本

       Linux系统中的Shell种类众多,常见的有bash、csh以及ksh等。不同的Shell语法有所不同,不能互换使用,但每种Shell都有其特色之处。这里我们选择bash来讲述Shell脚本编程的基础知识。Shell命令可以事先写在一个文件中,使用时Shell读取文件中的命令逐条解释,这种文件被称为脚本。 1.编写一个Shell脚本 编写一个简单的Shell脚本,输出字符串He...

ls_dashang的博客 7182

写给三弟的 C语言编程 快速入门

三弟,你要的C语言快速入门,已整理好 请接收。

码刀攻城 3793

Shell编程(变量切片+统计变量长度+字串删除+字串替代+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)

本篇文章继续给大家介绍,包括变量切片、统计变量长度变量子串删除、子串替换、七种方法进行数值运算、整数比较,多整数比较,字符串比对,正则比对,配合三剑客的高阶用法带大家深入了解Shell编程。

宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。 1583

shell变量,获取脚本参数变量变量长度,获取脚本执行路径

shell中不会区分变量的类型,分为环境变量和普通变量shell中比较重要的变量: $0 :获取当前shell脚本的文件名,如果执行包含了路径, 则包含路径 1−−−1 ---1−−−n : 获取当前Shell脚本执行时底n个参数值,$1,$2,…9,如果n大于9,则用大括号括起来,如9,如果n大于9,则用大括号括起来,如9,如果n大于9,则用大括号括起来,如{12},接的参数用空格隔开 $# :获取当前Shell脚本执行时,参数的总个数。 $*:获取当前Shell脚本所有传参的参数,不加引号和@相

LeoHan 5069

shell编程--判断

1.test表达式3.[[ 条件表达式 ]]

m0_74091945的博客 1409

shell 脚本中求一个字符串的长度

shell脚本中 求字符串的长度.

阿常呓语的专栏 7650

Shell中判断字符串长度是否为0的多种方法

Shell中判断字符串长度是否为0的多种方法

SRE成长记 424

linux shell 变量减法_shell脚本(变量运算

变量运算方法一:expr(直接命令行操作即可)##加减乘除[root@localhost ~]# num1=10[root@localhost ~]# num2=16[root@localhost ~]# expr $num1 + num225[root@localhost ~]# expr $num2 - num16[root@localhost ~]# expr $num1 \* num21...

weixin_33037089的博客 6346

linux下shell字符串操作(长度,查找,替换)详解

转自http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。 一、判断读取字符串...

林星语 272
上一篇: shell使用echo打印输出及printf格式化输出
下一篇: linux利用文件句柄恢复oracle数据
comprel
博客等级 码龄10年 70粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值