进程状态变量
1、$$获取当前shell的进程号(PID)
2、$!执行上一个指令的PID
3、$?获取执行上一个命令的返回值(0为成功,非零为失败,这个很常用)
4、$_在此之前执行的命令或脚本的最后一个参数
1
2
3
4
5
6
7
8
9
10
11
12
<code>cat</code> <code>> </code><code>test</code><code>$.sh</code>
<code>echo</code> <code>'$$='</code><code>$$</code>
<code>echo</code> <code>'$!='</code><code>$!</code>
<code>echo</code> <code>'$?='</code><code>$?</code>
<code>echo</code> <code>'$@='</code><code>$@</code>
<code>echo</code> <code>'$_='</code><code>$_</code>
<code>#输出如下</code>
<code>sh </code><code>test</code><code>\$.sh 1 2 3</code>
<code>$$=2556</code>
<code>$!=</code>
<code>$?=0</code>
<code>$@=1 2 3</code>
$*和$@的区别
$*将所有的参数视为单个字符串,相当于“$1$2$3”
$@将每个参数视为单个的字符串,保留命令行中的任何空白字符
13
14
15
16
17
<code>set</code> <code>-- </code><code>'I am'</code> <code>jane lee</code>
<code>for</code> <code>i </code><code>in</code> <code>$*; </code><code>do</code> <code>echo</code> <code>$i; </code><code>done</code><code>;</code>
<code>I</code>
<code>am</code>
<code>jane</code>
<code>lee</code>
<code>for</code> <code>i </code><code>in</code> <code>$@; </code><code>do</code> <code>echo</code> <code>$i; </code><code>done</code><code>;</code>
<code>for</code> <code>i </code><code>in</code> <code>"$@"</code><code>; </code><code>do</code> <code>echo</code> <code>$i; </code><code>done</code><code>;</code>
<code>I am</code>
<code>for</code> <code>i </code><code>in</code> <code>"$*"</code><code>; </code><code>do</code> <code>echo</code> <code>$i; </code><code>done</code><code>;</code>
<code>I am jane lee</code>
本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1297448,如需转载请自行联系原作者