shell变量之辨[9]

[位置变量]

argNum=$#
lastArg=${!#}
echo "$argNum, $lastArg"

echo "$0"
readlink -f $0
echo ${11}	#超过10, 必须加大括号
echo $@

以上就是一段使用了位置变量的shell脚本, 我们执行以下语句:

./13.sh 1 2 3 4 5 6 7 8 9 a b c

输出内容为:

12, c
./13.sh
/home/work/bian_wei/share/test13.sh
b
1 2 3 4 5 6 7 8 9 a b c

那么我们可以看到脚本中, 输出的argNum和$lastArg分别是12, c. 也就是说$#用来表示的是, 输入参数的个数, (不包括文件名自身), ${!#}表示最后一个参数的值, 即为c

再下一行, echo “$0″, 输出的就是被执行脚本自己的名字, 就是./13.sh

再继续, readlink -f 这个表示输出$0所在的真实路径

再向下, echo ${11}, 这样的方式, 可以输出任意位置的参数. 当然, 超过10的话就必须用大括号标识出来

最后一个echo $@, 这个表示把输入的参数全部打印出来

本文链接:https://www.poisonbian.com/post/806.html 转载需授权!

分享到:
原文链接:,转发请注明来源!
「shell变量之辨[9]」评论列表

发表评论