Linux Shell脚中经常会遇到一大堆美元符号 ($),有些符号容易搞混,他们代表的含义我做个记录:
- $0 shell的命令本身(包括完整路径)
- $1到$9 数字表示shell 的第几个参数
- $# 传递到脚本的参数个数
- $* 以一个单字符串显示所有向脚本传递的参数
- $$ 脚本运行的ID号
- $! 后台运行的最后一个进程的ID号
- $@ 与$*相同。
- $- 显示shell使用的当前选项。
- $? 显示最后命令的执行状况。0表示没有错误。
举个例子:
- [www.linuxidc.com@linuxidc /tmp]$ ./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 }