高级Bash脚本编程指南(14):双圆括号结构
成于坚持,败于止步
与let命令很相似, ((...))结构允许算术扩展和赋值. 举个简单的例子, a=$(( 5 + 3 )), 将把变量"a"设为"5 + 3", 或者8. 然而, 双圆括号结构也被认为是在Bash中使用C语言风格变量操作的一种处理机制.
#!/bin/bash
(( a = 23 )) # C语言风格的变量赋值,"="两边允许有空格.
echo "a (initial value) = $a"
(( a++ )) # C语言风格的后置自加.
echo "a (after a++) = $a"
(( a-- )) # C语言风格的后置自减.
echo "a (after a--) = $a"
(( ++a )) # C语言风格的前置自加.
echo "a (after ++a) = $a"
(( --a )) # C语言风格的前置自减.
echo "a (after --a) = $a"
(( t = a<45?7:11 )) # C语言风格的三元操作.
echo "If a < 45, then t = 7, else t = 11."
echo "t = $t "
exit 0
结果:
root@ubuntu:~/resource/0510# ./test1
a (initial value) = 23
a (after a++) = 24
a (after a--) = 23
a (after ++a) = 24
a (after --a) = 23
If a < 45, then t = 7, else t = 11.
t = 7
root@ubuntu:~/resource/0510#
可以认为(())是为了让你回忆一下c语言的好,因为熟悉所以喜欢,就算叫日久生情吧,O(∩_∩)O~
先到这里了,O(∩_∩)O~
我的专栏地址:http://blog.csdn.net/column/details/shell-daily-study.html
待续。。。。。