shell中有一些常用的难记的特殊变量,如下:
$0 | 当前脚本的文件名 |
$n | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 |
$# | 传递给脚本或函数的参数个数。 |
$* | 传递给脚本或函数的所有参数。 |
$@ | 传递给脚本或函数的所有参数。被双引号(” “)包含时,与 $* 稍有不同 |
$? | 上个命令的退出状态,或函数的返回值。 |
$$ | 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。 |
$0 – 当前脚本文件名
#! /bin/bash
echo $0
$ sh shell.sh
shell.sh
$n – 第n个参数
#! /bin/bash
echo $1
echo $2
echo $3
$ sh shell.sh a b c
a
b
c
$# – 参数个数
#! /bin/bash
echo $#
$ sh shell.sh a b c
3
$* – 所有参数
#! /bin/bash
echo $*
for i in $*; do
echo $i
done
$ sh shell.sh a b c
a b c
a
b
c
$@ – 所有参数
#! /bin/bash
echo $*
for i in $*; do
echo $i
done
$ sh shell.sh a b c
a b c
a
b
c
$? – 上一个命令的返回值
#! /bin/bash
date
echo $?
err_cmd
echo $?
$ sh shell.sh
2021年11月10日 星期三 20时08分38秒 CST
0
shell.sh: line 4: err_cmd: command not found
127
$$ – 当前进程id
#! /bin/bash
echo $$
$ sh shell.sh
57507
你可能还喜欢下面这些文章
赞赏微信赞赏
支付宝赞赏