频道栏目
首页 > 系统 > Linux > 正文

linux shell“(())”双括号运算符使用

2012-09-18 11:07:51            作者:程默
收藏   我要投稿


linux shell“(())”双括号运算符使用

 

在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算。估计很多朋友都感觉比较难以接受。特变逻辑运算符”[]”使用时候,必须保证运算符与算数 之间有空格。 四则运算也只能借助:let,expr等命令完成。 今天讲的双括号”(())”结构语句,就是对shell中算数及赋值运算的扩展。

 

使用方法:

语法:  www.2cto.com  

((表达式1,表达式2…))

特点:

1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。

2、在双括号结构中,所有变量可以不加入:“$”符号前缀。

3、双括号可以进行逻辑运算,四则运算

4、双括号结构 扩展了for,while,if条件测试运算

5、支持多个表达式运算,各个表达式之间用“,”分开

使用实例:

扩展四则运算

 

#!/bin/sh

 

a=1;

b=2;

c=3;

 

((a=a+1));

echo $a;

 

a=$((a+1,b++,c++));

echo $a,$b,$c

 

运行结果:

sh testsh.sh

2  www.2cto.com  

3,3,4

双括号结构之间支持多个表达式,然后加减乘除等c语言常用运算符都支持。如果双括号带:$,将获得表达式值,赋值给左边变量。

扩展逻辑运算

 

#!/bin/sh

 

a=1;

b="ab";

 

echo $((a>1?8:9));

 

((b!="a"))&& echo "err2";

((a<2))&& echo "ok";

 

运行结果:

sh testsh.sh

9  www.2cto.com  

err2

ok

扩展流程控制语句(逻辑关系式)

 

#!/bin/sh

 

num=100;

total=0;

 

for((i=0;i<=num;i++));

do

    ((total+=i));

done

echo $total;

 

total=0;

i=0;

while((i<=num));

do  www.2cto.com  

    ((total+=i,i++));

done

echo $total;

 

if((total>=5050));then

    echo "ok";

fi

 

运算结果:

sh testsh.sh

5050

5050

ok

 

有了双括号运算符:[[]],[],test 逻辑运算,已经let,expr 都可以抛到一边了。

原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html#
 

相关TAG标签 运算符 括号
上一篇:探讨shell命令中>/dev/null 2>&1的实现原理
下一篇:Linux JDK环境变量设置
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站