Linux Shell中的美元符号$


Linux Shell脚中经常会遇到一大堆美元符号 ($),有些符号容易搞混,他们代表的含义我做个记录:

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

举个例子:

  1. [www.bkjia.com@bkjia /tmp]$ ./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 { 25643 }   
  10. $? is { 0 }  

相关内容