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