Shell中的美元符号$

时间:2022-09-23 14:32:41
linux脚中经常会遇到美元符号 ($),以下是他们代表的含义:
$0  shell的命令本身(包括完整路径)     ($0 是脚本本身的名字)
$1到$9 数字表示shell 的第几个参数   
$# 传递到脚本的参数个数  
$* 以一个单字符串显示所有向脚本传递的参数  
$$ 脚本运行的ID号  
$! 后台运行的最后一个进程的ID号  
$@ 与$*相同。  
$- 显示shell使用的当前选项。  
$? 显示最后命令的执行状况。0表示没有错误。  


举个例子:

test.sh代码


  1. #!/bin/bash  
  2. echo "\$0 is: " $0  
  3. echo "\$1 is: " $1  
  4. echo "\$2 is: " $2  
  5. echo "\$* is: " $*  
  6. echo "\$@ is: " $@  
  7. echo "\$# is: " $#  
  8. echo "\$! is: " $!  
  9. echo "\$$ is: " $$  
  10. echo "\$? is: " $?  
执行输出:
  1. $ sudo ./test.sh p1 p2  
  2. $0 is:  ./test.sh  
  3. $1 is:  p1  
  4. $2 is:  p2  
  5. $* is:  p1 p2  
  6. $@ is:  p1 p2  
  7. $# is:  2  
  8. $! is:   
  9. $$ is:  3469  
  10. $? is:  0