$*和$@之间差别代码分析

#!/bin/bash
set 'apple pie' pears peaches
for i in $*           /*单引號被去掉,循环单个字符输出*/
do echo $i

done

[root@luozhonghua Ex_14.02-14.31]# sh 14-14-1
apple
pie
pears
peaches

--------------------------------------------------------------

#!/bin/bash
set 'apple pie' pears peaches
for i in "$*"      /*单引號被去掉。但当作字符串一次输出*/
do echo $i
done

[root@luozhonghua Ex_14.02-14.31]# sh 14-14-2
apple pie pears peaches
[root@luozhonghua Ex_14.02-14.31]#


-----------------------------------------------------------------



#!/bin/bash
set 'apple pie' pears peaches
for i in $@          /*单引號被去掉。循环单个字符输出*/
do echo $i     
done
[root@luozhonghua Ex_14.02-14.31]# sh 14-14-3
apple
pie
pears
peaches


-----------------------------------------------------------------

#!/bin/bash
set 'apple pie' pears peaches
for i in "$@"      /*每一个位置參数都将当成一个加引號的字符串:"apple pie","pears ","peaches"*/
do echo $i
done
[root@luozhonghua Ex_14.02-14.31]# sh 14-14-4
apple pie
pears
peaches









posted on 2016-01-01 09:03  gcczhongduan  阅读(159)  评论(0编辑  收藏  举报