博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bash中的括号(三)
阅读量:7217 次
发布时间:2019-06-29

本文共 1471 字,大约阅读时间需要 4 分钟。

1、两个小括号用来对整数进行算术运算和逻辑运算,比如

例如给变量赋值:

$ a=1+1; echo $a1+1$ (( b = 1 + 1 )); echo $b2

1+1 只是一个字符串,而 b 就是一个算术表达式结果。

正是因为是算术表达式,所以比较也是按数字本身而不是字符串:

$ (( 3 > 1 )); echo $?0$ (( 3 > 6 )); echo $?1$ (( 3 > 10 )); echo $?1

所以也可以套上 if 语句来用:

[root@noi ~]# if((3>1))> then> echo "right,3>1"> firight,3>1
[root@noi ~]# a=3;b=10[root@noi ~]# if((a>b));then> echo "$a > $b"> else> echo "$a < $b"> fi3 < 10

 2、(())还具有C语言类型变量增减的功能。如:

[root@noi ~]# a=2[root@noi ~]# ((a++))[root@noi ~]# echo $a3

3、只要括号中的运算符、表达式符合C语言运算规则,都可用在$((exp))中,甚至是三目运算符。作不同进位(如二进制、八进制、十六进制)运算时,

输出结果全都自动转化成了十进制。如:

[root@noi ~]# echo $((16#5f))95

4、双括号中的变量可以不使用$符号前缀。括号内支持多个表达式用逗号分开。

#这个i不用$,是因为这里是定义,而不是使用 [root@noi ~]# for i in $(seq 100)> do #因为i在双括号中,可以省掉$,可以看出shell也是挺人性化的,只要不是为了填坑,尽量方便大家哦。>   if((i%12==0));then>     echo $i>   fi> done1224364860728496

看到没?有的加了$,有的却不需要,但是原谅bash吧,它的奇怪行为大多为了填坑补洞。

上面的式子用for写:

[root@noi ~]# for((i=0;i<100;i++))> do>    if((i%12==0))>    then>       echo $i>    fi> done01224364860728496

5、附加几个常用的式子:

if ($i<5)      if [ $i -lt 5 ]      if [ $a -ne 1 -a $a != 2 ]      if [ $a -ne 1] && [ $a != 2 ]      if [[ $a != 1 && $a != 2 ]]             for i in $(seq 0 4);do echo $i;done      for i in `seq 0 4`;do echo $i;done      for ((i=0;i<5;i++));do echo $i;done      for i in {
0..4};do echo $i;done

先写到这里,特别感谢:

http://blog.csdn.net/tttyd/article/details/11742241

http://blog.csdn.net/xibeichengf/article/details/51226052

http://blog.csdn.net/u012598668/article/details/42236427

你可能感兴趣的文章
System表空间大小有10Gb,使用率达到95%,
查看>>
atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t
查看>>
IOS--文件管理NSFileManager
查看>>
C++之异常处理
查看>>
redis学习(五)——Set数据类型
查看>>
zTree实现地市县三级级联封装类
查看>>
【推荐】适合本科生的网络公开课(MOOC为主),不断更新……
查看>>
第1章第2节练习题3 删除最小值结点
查看>>
JAVA 比较两张图片的相似度的代码
查看>>
Hadoop2 伪分布式部署
查看>>
Experience Design for Sexable Forum
查看>>
Hibernate单向关联N-N
查看>>
从瀑布模型到敏捷开发——认识论决定行为
查看>>
(转) RabbitMQ学习之工作队列(java)
查看>>
【Python】Python处理csv文件
查看>>
静态方法与实例化方法区别
查看>>
poj1664 dp记忆化搜索
查看>>
Git初探
查看>>
Saltstack运行cmd.run重新启动tomcat后出现日志乱码(15)
查看>>
【微信小程序】:confirm(删除提示)
查看>>