在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
特殊变量之前的教程就在命名变量时,使用某些非字符数值作为字符变量名提出警告。这是因为这些字符用于作为特殊的 UNIX 变量的名称。这些变量是预留给特定功能的。 例如,$ 字符代表进程的 ID 码,或当前 Shell 的 PID:
以上命令将输出当前 Shell 的 PID:
下面的表列出了一些特殊变量,可以在你的 Shell 脚本中使用它们:
命令行参数命令行参数 $1,$2,$3,……$9 是位置参数,$0 指向实际的命令,程序,shell 脚本或函数。$1,$2,$3,……$9 作为命令的参数。 以下脚本使用与命令行相关的各种特殊变量:
这是一个运行上述脚本的示例:
特殊参数 $* 和 $@存在一些特殊参数,使用它们可以访问所有的命令行参数。除非他们包含在双引号 "" 中,否则 $* 和 $@ 运行是相同的。 这两个参数都指定所有的命令行参数,但 $* 特殊参数将整个列表作为一个参数,各个值之间用空格隔开。而 $@ 特殊参数将整个列表分隔成单独的参数。 我们可以编写如下所示的 Shell 脚本,使用 $* 或 $@ 特殊参数来处理数量未知的命令行参数:
作为示例,运行上述脚本:
注意:这里 do……done 是一种循环,我们将在后续教程中介绍它。 退出态$? 变量代表前面的命令的退出态。 退出态是每个命令在其完成后返回的数值。一般来说,大多数命令如果它们成功地执行,将 0 作为退出态返回,如果它们执行失败,则将 1 作为退出态返回。 一些命令由于一些特定的原因,会返回额外的退出状态。例如,一些命令为了区分不同类型的错误,将根据特定类型的失败原因返回各种不同的退出态值。 下面是一个成功命令的例子:
|
请发表评论