跳转至

7. 特殊参数变量

3.7 特殊参数变量

$0  获取shell脚本文件名及路径
$n  获取shell脚本的第n个参数,n>9则需要写${10}
$#  获取shell脚本后面的参数总个数
$*  获取shell脚本的所有参数,作为一个整体
$@  获取shell脚本的所有参数,每个参数相互独立

特殊参数变量实践

[root@151 ~]# vim test.sh

#!/bin/bash
echo '特殊变量 $0 $1 $2 ... 获取指定的参数'
echo $0 $1 $2

echo '##########################'
echo '特殊变量$# 获取参数总个数'
echo $#

echo '##########################'
echo '特殊变量$* 获取shell脚本的所有参数,作为一个整体'
echo $*

echo '##########################'
echo '特殊变量$@ 获取shell脚本的所有参数,每个参数分开'
echo $@
[root@151 ~]# bash test.sh chu peng 180 180 180 180
特殊变量 $0 $1 $2 ... 获取指定的参数
test.sh chu peng
##########################
特殊变量$# 获取参数总个数
6
##########################
特殊变量$* 获取shell脚本的所有参数,作为一个整体
chu peng 180 180 180 180
##########################
特殊变量$@ 获取shell脚本的所有参数,每个参数分开
chu peng 180 180 180 180

$* $@的区别

[root@151 ~]# vim test1.sh

#!/bin/bash
for var in "$*"
do
        echo "$var"
done

echo '####################'
for var in "$@"
do
        echo "$var"
done
[root@151 ~]# bash test1.sh chu peng 180 180 180 180
chu peng 180 180 180 180
####################
chu
peng
180
180
180
180

最后更新: 2022-02-25 03:53:42