$(())用法,可以执行算数运算,加$能返回它的运算结果,类似于let,expr之类的,但是写法不同
[root@VM_207_144_centos opt]# echo $((1+2)) 3 [root@VM_207_144_centos opt]# expr 1 + 2 3
$()用法,表示一个范围,会把结果返回给变量,类似于``这样的
[root@VM_207_144_centos opt]# echo $(pwd) /opt [root@VM_207_144_centos opt]# a=$(pwd) [root@VM_207_144_centos opt]# echo $a /opt [root@VM_207_144_centos opt]# b=`pwd` [root@VM_207_144_centos opt]# echo $b /opt
${}用法,不加$的话就是一个代码块,表示一段命令,一般用法:[ condition ] && { 里面的命令全部都执行 },如果加$的话一般用在对变量的处理上,比如求变量长度:echo ${#var} 设置默认值:${var:=默认值} 之类的
[root@VM_207_144_centos opt]# a=kiki [root@VM_207_144_centos opt]# echo ${a} kiki [root@VM_207_144_centos opt]# echo ${#a} 4 [root@VM_207_144_centos opt]# a=${var:=111} [root@VM_207_144_centos opt]# echo $a 111 [root@VM_207_144_centos opt]# echo $var 111
\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
$@与$*的区别