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

cattest_n.sh

#内容如下

#echo $1 $2 $3 $4 $5

bashtest_n.sh arg1 agr2 arg3

#输出内容:

#arg1 agr2 arg3

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


echo'echo $*'>test_*.sh

cattest_*.sh

#内容如下:

#echo $*

bashtest_*.sh 1 2 3

#输出:

#1 2 3

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


echo'echo $#'>test_j.sh

cattest_j.sh

#内容如下:

#echo $#

bashtest_j.sh 1 2 3

#输出:

#3