【Linux Shell】$0, $1, $2, $#, $?, $!, $$的含义

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/heiyouhei123/article/details/89052346

1 $0, $1, $2,…, $n

  • $0:这个特殊一点表示命令本身;
  • $1: 表示第一个参数;
  • $2:表示第二个参数;
  • $n:表示第n个参数;
[root@localhost shell]# cat script.sh 
echo $0
echo $1
echo $2
[root@localhost shell]# ./script.sh Hello World
./script.sh
Hello
World

2 $#

$#:表示实际的参数个数;

[root@localhost shell]# cat arguments-length.sh 
echo "length is " $#
[root@localhost shell]# ./arguments-length.sh 1 2 3 4 5 6
length is  6

3 $$

$$:表示当前进程的pid;

[root@localhost shell]# cat output-pid.sh 
echo "my pid is " $$
[root@localhost shell]# ./output-pid.sh 
my pid is  47282
[root@localhost shell]# echo $$
46946
[root@localhost shell]# 

4 $?

$?:表示上一个命令执行的退出状态

[root@localhost shell]# cat error.sh 
exit 66 
[root@localhost shell]# ./error.sh 
[root@localhost shell]# echo $?
66
[root@localhost shell]# 

5 $!

$!:表示最近一个后台执行程序的pid;

[root@localhost shell]# sleep 60 &
[1] 47395
[root@localhost shell]# sleep 70 &
[2] 47396
[root@localhost shell]# echo $!
47396
[root@localhost shell]# 

猜你喜欢

转载自blog.csdn.net/heiyouhei123/article/details/89052346
今日推荐