Life with teacher Lemon.

Shell 系统变量

2020.12.08 | 共 295 字,阅读需约 1 分钟.

我们在编写 shell 脚本时,会用到一些系统变量,诸如 $1, $0, $#, $$, $!, $? 等,我们来看一下详细解释。

$n	 $n 表示第几个参数,从 1 开始计数,例如 $2 表示第二个参数
$#	 命令行参数的总个数
$0	 当前运行程序的名称
$?	 前一个命令或函数的返回码,0 表示成功, 1 表示失败
$*	 以"参数1 参数2 ... " 形式保存所有参数,循环时,将参数当做一个整体打印 1 次
$@	 以"参数1" "参数2" ... 形式保存所有参数,循环时,将参数分割打印 $# 次
$$	 本程序的(进程 ID 号) PID
$!	 上一个命令的 PID

对于如下脚本 demo.sh

#!/bin/bash
echo $#
echo $1
echo $0
echo $?
echo $*
echo $@
echo $!
echo $$

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

for var in "$@"
do
    echo "$var"
done

执行 ./demo.sh one two,结果显示

2
one
./demo.sh
0
one two
one two

741
one two
one
two
发表评论
今日诗词