Linux - 特殊变量

Linux - 特殊变量 首页 / Linux入门教程 / Linux - 特殊变量

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

如, $字符代表当前Shell的进程ID号或PID-

$echo $$

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

29949

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

Sr.No.Variable & 描述
1

$0

当前脚本的文件名。

链接:https://www.learnfk.comhttps://www.learnfk.com/linux/linux-special-variables.html

来源:LearnFk无涯教程网

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 Learnfk com
File Name : ./test.sh
First Parameter : Learnfk
Second Parameter : com
Quoted Values: Learnfk com
Quoted Values: Learnfk com
Total Number of Parameters : 2

特殊参数$*和$@

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

#!/bin/sh

for TOKEN in $*
do
   echo $TOKEN
done

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

$./test.sh Learnfk com 2 Years Old
Learnfk
com
2
Years
Old

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

退出状态

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

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

以下是成功命令的示例-

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

玩转Git三剑客 -〔苏玲〕

零基础学Java -〔臧萌〕

OpenResty从入门到实战 -〔温铭〕

手机摄影 -〔@随你们去〕

容器实战高手课 -〔李程远〕

基于人因的用户体验设计课 -〔刘石〕

零基础实战机器学习 -〔黄佳〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

Dubbo源码剖析与实战 -〔何辉〕

好记忆不如烂笔头。留下您的足迹吧 :)