linux中shell变量$#,$@,$0,$1,$2的含义解释(最全版本)

linux中shell变量$#,$@,$0,$1,$2的含义解释: 
变量说明: 
$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码(返回值) 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
$@ 
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
$# 
添加到Shell的参数个数 
$0 
Shell本身的文件名 
$1~$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

=======================================================

$0  shell的命令本身(包括完整路径)  
$1到$9 数字表示shell 的第几个参数   
$# 传递到脚本的参数个数  
$* 以一个单字符串显示所有向脚本传递的参数  
$$ 脚本运行的ID号  
$! 后台运行的最后一个进程的ID号  
$@ 与$*相同。  
$- 显示shell使用的当前选项。  
$? 显示最后命令的执行状况。0表示没有错误。 


举例:

[wangpl@l bin]$ ./test.sh  p1 p2  
$0 is { ./test.sh }  
$1 is { p1 }  
$2 is { p2 }  
$* is { p1 p2 }  
$@ is { p1 p2 }  
$# is { 2 }  
$! is {  }  
$$ is { 25643 }  
$? is { 0 }

猜你喜欢

转载自blog.csdn.net/qq_38483094/article/details/106014946