shell特殊变量 ☞ 位置变量


   1、$0 获得当前脚本的文件名,包括路径。

#写一个测试脚本
vim test.sh
#内容如下
dirname $0
basename $0
#执行一下
bash $(pwd)/test.sh
#输出如下
/home/jane
test.sh


   2、$n 获取当前执行脚本的第n个参数,n=1..9,$0,为当前脚本名。如果n大于9,使用${10}

echo 'echo '$(seq -s " $" 1 5|sed 's/1/$1/') > test_n.sh
cat test_n.sh
#内容如下
#echo $1 $2 $3 $4 $5
bash test_n.sh arg1 agr2 arg3
#输出内容:
#arg1 agr2 arg3


   3、$* 获取脚本所有参数

echo 'echo $*'>test_*.sh
cat test_*.sh
#内容如下:
#echo $*
bash test_*.sh 1 2 3
#输出:
#1 2 3


   4、$# 获得脚本所有参数的个数

echo 'echo $#'>test_j.sh
cat test_j.sh
#内容如下:
#echo $#
bash test_j.sh 1 2 3
#输出:
#3


   5、$@ 暂不介绍。