Linux Shell-传参的“异常”

1 场景

脚本传参异常,总会有参数值错误,演示脚本如下:
function test()
{
    echo $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12;
}
test a b c d e f g h i j k l;
调用后输出如下:
# sh test.sh
a,b,c,d,e,f,g,h,i,a0,a1,a2

2 分析

调试如下:
# sh -x test.sh
+ test a b c d e f g h i j k l
+ echo a,b,c,d,e,f,g,h,i,a0,a1,a2
a,b,c,d,e,f,g,h,i,a0,a1,a2
这里很明显,参数$10被解析为:“${1}0”,导致参数传递异常。

3 总结

1. 参数尽量不要超过10个,建议3-5个。
2. 如果参数数量超过10个,那么从第10个开始,使用如下方式引用:
${10},${11},${12}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值