加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX Shell特殊变量

发布时间:2022-12-09 15:01:18 所属栏目:Unix 来源:网络
导读: UNIX Shell特殊变量
2019-09-09 0 0
在本章中,我们将讨论Unix中的特殊变量,在上一章中,我们了解了变量名称中使用某些非字母数字字符时应注意的事项,这些变量保留用于特定功能。
如$$字

UNIX Shell特殊变量

2019-09-09 0 0

在本章中,我们将讨论Unix中的特殊变量,在上一章中,我们了解了变量名称中使用某些非字母数字字符时应注意的事项,这些变量保留用于特定功能。

如$$字符代表当前shell的进程ID号或PID

$echo $$

上面的命令写入当前shell的PID-

29949

下表显示了一些可以在Shell脚本中使用的特殊变量-

No.Variable描述

1

$0

当前脚本的文件名。

2

$n

这些变量对应于调用脚本的参数。这里的 n 是与参数位置相对应的正十进制数(第一个参数为$1,第二个参数为$2,依此类推)。

3

$#

提供给脚本的参数数量。

4

$*

所有参数都用双引号引起来。如果脚本收到两个参数,则$*等效于$1 $2。

5

$@

所有参数都单独用双引号引起来。如果脚本收到两个参数,则$@等效于$1 $2。

6

最后执行的命令的退出状态。

7

$$

当前shell的进程号。对于Shell脚本,这是它们执行时的进程ID。

8

$!

最后一个后台命令的进程号。

命令行参数

命令行参数$1,$2,$3,… $9是位置参数,$0指向实际的命令,shell脚本或函数,$1,$2,$3,… $9作为参数命令。

以下脚本使用与命令行相关的各种特殊变量-

#!/bin/sh
echo "File Name: $0"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "Quoted Values: $@"
echo "Quoted Values: $*"
echo "Total Number of Parameters : $#"

这是上述脚本的Example运行-

$./test.sh Zara Ali
File Name : ./test.sh
First Parameter : Zara
Second Parameter : Ali
Quoted Values: Zara Ali
Quoted Values: Zara Ali
Total Number of Parameters : 2

特殊参数$*和$@

我们可以如下所示编写shell脚本UNIX 特殊变量,以使用$*或$@特殊参数处理未知数量的命令行参数-

#!/bin/sh
for TOKEN in $*
do
   echo $TOKEN
done

这是上述脚本的示例运行-

$./test.sh Zara Ali 10 Years Old
Zara
Ali
10
Years
Old

注意-这里的 do … done 是一种循环,将在后续教程中进行介绍。

退出状态

$? 变量表示上一个命令的退出状态。

退出状态是每个命令完成后返回的数值。通常,如果大多数命令成功,则返回退出状态;如果不成功,则返回1。

以下是成功命令的示例

$./test.sh Zara Ali
File Name : ./test.sh
First Parameter : Zara
Second Parameter : Ali
Quoted Values: Zara Ali
Quoted Values: Zara Ali
Total Number of Parameters : 2
$echo $?
0
$

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章