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