高级Bash脚本编程指南(14):双圆括号结构

来源:互联网 发布:golang url encode 编辑:程序博客网 时间:2024/06/06 10:42
高级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) = 23a (after a++) = 24a (after a--) = 23a (after ++a) = 24a (after --a) = 23If 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

待续。。。。。