Linux是当今非常流行的操作系统之一,由于其开源、稳定、高效、安全等诸多优点,越来越多的程序员和开发人员开始使用Linux。在Linux中,变量是非常重要的概念,经常用到的变量有数值型变量、字符串型变量和数组等。在实际开发中,经常需要进行变量运算,如何高效计算变量值,是每个Linux开发人员需要掌握的技能。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的西峡网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
一、数值型变量的运算
Linux中常用的数值型变量有整型和浮点型,整型变量是不带小数点的数值,浮点型变量是带小数点的数值。数值型变量的运算主要包括加、减、乘、除等操作。
1. 加法运算
数值型变量的加法运算可以使用“+”符号,例如将1和2相加的操作如下所示:
1+2
运行结果为:
2. 减法运算
数值型变量的减法运算可以使用“-”符号,例如将2从1中减去的操作如下所示:
1-2
运行结果为:
-1
3. 乘法运算
数值型变量的乘法运算可以使用“*”符号,例如将1乘以2的操作如下所示:
1*2
运行结果为:
4. 除法运算
数值型变量的除法运算可以使用“/”符号,例如将2除以1的操作如下所示:
2/1
运行结果为:
二、字符串型变量的运算
字符串型变量是包含字符串的变量,在Linux中,字符串的运算主要包括连接、比较、截取、替换等操作。
1. 字符串连接
字符串连接可以使用“+”符号或“.”符号,例如将“hello”和“world”连接的操作如下所示:
“hello”+”world”
或者:
“hello”.”world”
运行结果为:
helloworld
2. 字符串比较
字符串比较可以使用“==”符号或“!=”符号,例如将“hello”和“world”比较的操作如下所示:
“hello”==”world”
或者:
“hello”!=”world”
运行结果为:
false
3. 字符串截取
字符串截取可以使用“:”符号,例如将字符串“hello world”从第2个字符开始截取6个字符的操作如下所示:
“hello world”:2:6
运行结果为:
llo wo
4. 字符串替换
字符串替换可以使用“sed”命令,例如将字符串“hello world”中的“hello”替换成“hi”的操作如下所示:
sed ‘s/hello/hi/g’
运行结果为:
hi world
三、数组的运算
数组是一种包含多个元素的变量,在Linux中,数组的运算主要包括读取、遍历、排序、反转等操作。
1. 读取元素
数组中的元素可以使用下标值进行读取,例如读取下标为1的元素的操作如下所示:
a=(1 2 3)
echo ${a[1]}
运行结果为:
2. 遍历数组
遍历数组可以使用“for”循环,例如遍历数组$a中的元素的操作如下所示:
a=(1 2 3)
for i in “${a[@]}”; do echo $i; done
运行结果为:
3. 排序数组
排序数组可以使用“sort”命令,例如对数组$a进行升序排序的操作如下所示:
a=(3 1 2)
echo ${a[@]} | tr ‘ ‘ ‘\n’ | sort -n
运行结果为:
4. 反转数组
反转数组可以使用“rev”命令,例如对数组$a进行反转的操作如下所示:
a=(1 2 3)
echo ${a[@]} | rev
运行结果为:
3 2 1
在Linux中,变量运算是非常常见的操作,熟练掌握各种变量运算的方法,可以提高开发效率,同时也是Linux开发人员必备的基本技能之一。在实际开发中,还要视情况选择合适的方法和工具,以完成更加复杂的计算和处理任务。
相关问题拓展阅读:
用;号隔开每个命令, 每个命令按指毕照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。
上一条命令的输出,作为下一条命令参数
方式: command1 | command2
Linux所提供的管道符“|”将两个命令隔开,管清缓道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着之一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推
利用一个管道
rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
利用多个管道
cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用之一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash
&放在启动参数后面表示设置此进程为后台进程
方式: command1 &
默认情况下,进程是前台进程,这时就把Shell给占据了,我们无法进行其他操作,对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个’&’实现这个目的。
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 ? 中,可以通过 $? 获取当前变量的值,当 $?==0 时表示执行成功,当时 $?==1 (我认为是非0的数,返回值在0-255间),表示执行失败。
有时候,下一条命令依唯正芹赖前一条命令是否执行成功。如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等。shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行。
语法格式如下:
command1 && command2
命令之间使用 && 连接,实现逻辑与的功能。
只有在 && 左边的命令返回真(命令返回值 $? == 0 ),&& 右边的命令才会被执行。
只要有一个命令返回假(命令返回值 $? == 1 ),后面的命令就不会被执行。
逻辑或的功能
语法格式如下:
command1 || command2
命令之间使用 || 连接,实现逻辑或的功能。
只有在 || 左边的命令返回假(命令返回值 $? == 1 ),
|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。 只要有一个命令返回真(命令返回值 $? == 0 ),后面的命令就不会被执行。 –直到返回真的地方停止执行。
举例, ping 命令判断存活主机
注意 &>要连起来写
1、首先创建一衫基个名为shell.sh的文件:vi shell.sh。
2、然后输入头文件#!/bin/bash。
3、保存,开权限(chmod +x shell.sh)运行:./shell.sh。
4、输入一个字或世谨返搏符串。
5、想计算一个值乘以5,我们要编辑shell.sh(vi shell.sh)脚本命令如下。
6、保存,开权限运行:输出一个整数。
linux脚本文件中,从文件中读取数据并赋值给变量的操作旦烂方法和步骤如下:
1、首先,创建一个名
.sh
ell.sh的文件:vi shell.sh,如下图所示。
2、晌燃其次,完成上述步骤后,输入
头宴迟虚文件
#!/bin/bash,如下图所示。
3、接着,完成上述步骤后,保存并打开权限(chmod +x shell.sh)并运行:./shell.sh,如下图所示。
4、然后,完成上述步骤后,输入一个
字符串
,如下图所示。
5、随后,完成上述步骤后,要计算乘以5的值,需要按如下方式编辑shell.sh(vi shell.sh)脚本命令,如下图所示。
6、最后,保存,开权限运行:输出一个整数,如下图所示。这样,问题就解决了。
假设文件名称为tt.txt,山瞎则下列shell脚本可以将6个数字卖丛分别赋值给6个逗配空变量
i=1
for lines in `cat tt.txt`
do
case ${i} in
1) var1=${lines};;
2) var2=${lines};;
3) var3=${lines};;
4) var4=${lines};;
5) var5=${lines};;
6) var6=${lines};;
esac
i=`expr ${i} + 1`
done
echo ${var1}
echo ${var2}
echo ${var3}
echo ${var4}
echo ${var5}
echo ${var6}
linux中变量运算的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中变量运算,Linux中的变量运算:如何高效计算变量值,linux运算符 ; & && | 得作用,linux脚本文件中怎么从文件中读取数据并赋值给变量?的信息别忘了在本站进行查找喔。
成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作、成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。
网页名称:Linux中的变量运算:如何高效计算变量值(linux中变量运算)
网站URL:http://www.stwzsj.com/qtweb/news41/1691.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联