1。这次的问题是这样:
一个shell脚本,需要传很多参数进来,然后在脚本中有这样一行命令:
echo $1 $2 $3 $6 $9 $10 $12
传进来的参数分别是A B C ……
执行的结果却非预料,$9和前面的没错,但$10和$12却不是显示 J 和 L ,而是显示了 A0 和 A2 ,因为shell把 $10 看作 $1 ,后面又跟着一个 0 ,所以显示了第1个参数和一个0 ,就出现 A0 而不是 J 。
解决这个问题的方法是用 ${10} 代替 $10 。
2。类似的问题,上面是$后面接数字,按短的算,但当接字母或下划线时却按长的算,比如有2个变量$DIR和$PATH,有这么一个表达式:
$DIR_$PATH,它就不认了,必须写成${DIR}_${PATH}
阅读(668) | 评论(0) | 转发(0) |