$(())用法,可以执行算数运算,加$能返回它的运算结果,类似于let,expr之类的,但是写法不同

[root@VM_207_144_centosopt]#echo$((1+2))3[root@VM_207_144_centosopt]#expr1+23


$()用法,表示一个范围,会把结果返回给变量,类似于``这样的

[root@VM_207_144_centosopt]#echo$(pwd)/opt[root@VM_207_144_centosopt]#a=$(pwd)[root@VM_207_144_centosopt]#echo$a/opt[root@VM_207_144_centosopt]#b=`pwd`[root@VM_207_144_centosopt]#echo$b/opt


${}用法,不加$的话就是一个代码块,表示一段命令,一般用法:[ condition ] && { 里面的命令全部都执行 },如果加$的话一般用在对变量的处理上,比如求变量长度:echo ${#var}设置默认值:${var:=默认值}之类的

[root@VM_207_144_centosopt]#a=kiki[root@VM_207_144_centosopt]#echo${a}kiki[root@VM_207_144_centosopt]#echo${#a}4[root@VM_207_144_centosopt]#a=${var:=111}[root@VM_207_144_centosopt]#echo$a111[root@VM_207_144_centosopt]#echo$var111



\n与\t的区别

\n 换行 将光标移动到下一行第一格 相当于平时用的回车

\r 回车 将光标移动到当前行第一格



printf的使用

http://www.runoob.com/linux/linux-shell-printf.html


%d、%s、%f的意义

http://blog.csdn.net/jack__h/article/details/4932511



$@与$*的区别