1. 位置参数及其引用

执行 UNIX/Linux 命令或者 shell 脚本的时候可以带有命令行参数。相应的,类似于C语言,shell 程序中也有相应的变量可以访问这些命令行参数。在 shell 脚本中这类变量的名称很特别,分别是0,1,2,...,这类变量称为位置变量,因为它们与命令行上具体位置上的实参相对应:命令名对应位置变量0,第一个实参对应位置变量1,第二个实参对应位置变量2如果位置变量的编号到了两位数,那么必须用一对{}将它们括起来。

下面是一个ls -l -a -R命令的例子:

ls程序中直接可以通过这些位置变量访问所有命令行参数。

2. 用 set 命令设置命令行参数

在 shell 程序中可以用set命令为位置参数赋值或者重新赋值。

3. 移动位置参数

移动位置参数。顾名思义,即将所有位置参数右移一个单位,具体如下图:

有了移动位置参数,就可以方便地遍历所有的位置参数:

3. $

shell 中有一个预定义的变量$#,表示的是命令行参数的个数,类似于C语言的argc

Last modification:September 8th, 2019 at 04:59 pm