shell特殊变量

anonymous_vhacker
anonymous_vhacker
发布于 2023-02-28 / 30 阅读
0
0

shell特殊变量

Linux shell中的变量名往往以$开头进行引用,有些变量是shell内置的,具有特殊功能。

常用的特殊变量如下:

变量

功能

$0

当前执行的进程/程序名

$1~$9

位置参数变量

${10}~${n}

扩展位置参数变量,第10个位置变量必须用{}大括号括起来

$?

上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错

若退出状态值为0,表示命令运行成功

若退出状态值为127,表示command not found

若退出状态值为126,表示找到了该命令但无法执行(权限不够)

若退出状态值为1&2,表示没有那个文件或目录

$$

当前所在进程的PID进程号

$!

后台运行的最后一个PID进程号 (当前终端)

$#

参数个数

$*

所有参数,当成一个整体输出,每个变量参数之间以空格隔开

$@

所有参数,参数是独立的,也是全部输出

$*和$@的区别:

$* :表示将变量看成一个整体

$@ :表示变量是独立的

范例:文件test.sh

#!/bin/bash
for i in "$@"
do
echo $i
done

echo "------"

for i in "$*"
do
echo $i
done

执行:

./tesh.sh a b c

输出:

a
b
c
------
a b c


评论