分页: 1 / 1

一个关于括号扩展的小问题

发表于 : 2010-08-08 15:47
zhi5631
echo ${!N*}

请问他代表的是什么意思,与echo ${N*}有什么区别, !在这儿是什么作用? 新人,已百度过,但没有找到合适的答案,请求帮助,谢谢!!!

Re: 一个关于括号扩展的小问题

发表于 : 2010-08-08 21:48
aerofox
显示以 N 开头的变量名。

Re: 一个关于括号扩展的小问题

发表于 : 2010-08-09 7:09
zhi5631
谢谢您的解答,我还想知道的是:它与echo ${N*}有什么区别? 我在看bash的帮助文档的时候,我觉得应该这么理解,就是说 echo ${!N*}是以N开头的变量名,而且即使扩展完成后其是变量名,也不用值进行替换,而echo ${N*}直接就是错的!因为bash的man页里根本就没有它的描述 注:我用的系统是UBUNTU bash是4.1的.附上我的源代码:
1 #! /bin/sh
2
3 pre_first=1
4 pre_second=2
5 pre_third=3
6 four_pre=4
7
8
9
10 echo ${!pre@}
11 echo
12
13
14 echo ${pre*}
15 echo
16 exit 0
~

执行结果是:
wuya5631@leizhigang:~/bin$ bash -x ./test.sh
+ pre_first=1
+ pre_second=2
+ pre_third=3
+ four_pre=4
+ echo pre_first pre_second pre_third
pre_first pre_second pre_third
+ echo

./test.sh: line 14: ${pre*}: bad substitution
+ echo

+ exit 0



不知道对不对?望指点,拜谢!

Re: 一个关于括号扩展的小问题

发表于 : 2010-08-09 18:22
aerofox
手册看过了,实验做过了,你都已经知道了,要自信一点,不要等着别人给你下结论。

Re: 一个关于括号扩展的小问题

发表于 : 2010-08-10 8:55
zhi5631
是! 新人,呵呵。不过还是谢谢您的耐心解答!