Shell脚本学习笔记——位置参数和特殊变量

时间:2021-11-20 15:34:19

在Shell中,有很多变量是被自动赋值的,常用的位置参数和特殊变量总结起来有:

  • $0:相当于C语言main函数中的argv[0],还有$1,$2 ...... ,这些称为位置参数,相当于C语言main函数中的argv[1],argv[2] ......
  • $#:相当于C语言main函数中的 argc-1。注意这里的 # 后面不表示注释。
  • $@:表示参数列表$1,$2 ...... 。
  • $?:上一条命令的退出码。
  • $$:当前Shell的进程号。


下面我们来举一个例子:

Shell脚本学习笔记——位置参数和特殊变量


shift位置参数可以使用shift命令左移,例如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。

Shell脚本学习笔记——位置参数和特殊变量


那么我们如何遍历命令行参数呢?这里我们提供两种方式:

方式一:

Shell脚本学习笔记——位置参数和特殊变量

方式二:

Shell脚本学习笔记——位置参数和特殊变量