shell特殊变量$0 $? $#等

shell中特殊变量

$0 $1 $* $@ $# $$ $?

$0

表示当前shell脚本的文件名

$n

$n表示传给脚本或者函数的参数. $1表示第一个参数, $2表示第二个参数.

$@

传给脚本或函数的所有参数

$*

传给脚本或函数的所有参数
$*$@的区别,当被双引号包含时, $*所有参数作为整体,而$@将参数分开

#!/bin/bash
### test.sh
echo "\"\$*\":"
for var in "$*"
do
    echo "$var"
done

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

在这里插入图片描述

$#

传给脚本或函数的参数个数

$$

当前shell进程ID, shell脚本中表示脚本所在的进程ID

$?

上个命令的退出状态或函数的返回值

猜你喜欢

转载自blog.csdn.net/sunday2018/article/details/118166287