注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

A small step

Judgement Must

 
 
 

日志

 
 
关于我

不要因为急着赶路,让自己的步伐杂乱。远方是既定的目标,但路上才是最重要的经历!

bash (())  

2015-01-26 17:04:39|  分类: scripts编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

(())专门来做数值运算,如果表达式求值为 0,则设置退出状态为 1;如果求值为非 0 值,则设置为 0。不需要对 (( 和 )) 之间的操作符转义。算术只对整数进行。除 0 会产生错误,但不会产生溢出。可以执行 C 语言中常见的算术、逻辑和位操作。如下:

# ((i=1+99));echo $i
100
也能:
# i=99;((i++));echo $i
100

除此之外,也可以使用$(())直接进行数值运算,如下:

# echo $((2**3))
8

双圆括号表示数学表达式。
双方括号表示高级串处理函数
(( expression ))
expression可以是:
val++ 后增量 val-- 后减量 ++val 前增量 --val 前减量

if [ $num -lt $filenum ]

((num++))
! 逻辑否定 ~ 按位取反 ** 取幂 << 按位左移 >> 按位右移
[[ expression ]]
expression主要是与使用的标准字符串比较,提供了模式匹配的功能。
示例:
圆括号:
#!/bin/bash
#using double parenthesis
var1=10
if (( $var1**2>90 ))
then
((var2=$var1**2))
echo "the square of $var1 is $var2"
fi



#!/bin/bash
#using pattern matching
if [[ $USER==r* ]]
then
echo "hello $USER"
else
echo "sorry,i don't know you"
fi



注意:使用 (( )) 时,不需要空格分隔各值和运算符,使用[]和[[ ]] 时需要用空格分隔各值和运算符。 

  评论这张
 
阅读(10)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018