Bash编程入门(二)
Shell编程很有趣,Shell编程很复杂,Shell编程离我们很近又似乎很远:使用Linux离不开它,但似乎又不曾仔细了解它。这套文章的目的是带你走进Shell编程的大门 ,领略它的丰富多彩。
* 本节讲解内容:$
* 本节使用的shell版本为:
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)Copyright (C) 2007 Free Software Foundation, Inc.
* 所有本节讲解的内容,都需要你自己动手操作才能明白其含义
* 本文中所用到的所有命令,使用如下格式:
$ <some_command><output result>
$
$用于引用变量:
$ name=Bob$ echo $nameBob
我们用$name来引用到name这个变量。
$$
'$'是Shell内置变量,用于返回当前进程的ID,我们用$$引用到$这个变量:
$ echo $$4191
$!
'!'用于返回最近一个在后台运行的进程ID:
$ sh &[1] 2660$ echo $!2660
上面的代码中,'sh &'表示运行一个sh进程,&命令指定sh在后台运行。
$((..))
((..))可以用于数学计算:
$ echo $((1+2))3
$*,$@与$#
$*与$@都用在Bash脚本中,用于引用传入的参数;$#则代表参数的个数。假设我们有脚本arg.sh如下:
echo $@echo $*echo $#
带参数运行上面的脚本,结果如下:

有关$*与$@的区别,请参考:
http://tldp.org/LDP/abs/html/internalvariables.html#ARGLIST