Shell脚本——特殊变量

Shell脚本——特殊变量

$0和$n

$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。

示例

#!/bin/bash
echo "----: $0"
echo "----: $1"
echo "----: $2"
echo "----: $3"
echo "----: $4"
echo "----: $5"

执行结果:

[root@localhost ~]# sh 3.sh 1 2 3 43 5
----: 3.sh
----: 1
----: 2
----: 3
----: 43
----: 5

$* 和 $@、$#的区别

$#   传递给脚本或函数的参数个数。
$*    传递给脚本或函数的所有参数。
$@  传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同

#!/bin/bash
echo "$*=" $*
echo "$@=" $@
echo "$#=" $#

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

for i in "$@";do
echo $i
done

执行结果:

[root@localhost ~]# sh 3.sh 11 22 3
$*= 11 22 3
$@= 11 22 3
11 22 3
11
22
3

$?

$?  上个命令的退出状态,或函数的返回值。

#!/bin/bash
ls -l >/dev/null
echo $?

$$

$$    当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

加油,你们是最棒的!
原文地址:https://www.cnblogs.com/Wshile/p/12787390.html