命令行参数问题
我在命令行参数里输入一个带通配符的文件名: xxx *.jpg
自己做的通配符匹配函数,结果发现OS会自作聪明的帮我吧 这个通配符给处理了,请问怎么屏蔽调这个东西,我想获得用户输入的参数
谢谢
问题点数:20、回复次数:5Top
1 楼javaman8(javaman)回复于 2006-03-23 09:59:13 得分 5
可以把*换成如#这样的OS不会理会的符号啊Top
2 楼digifish(df)回复于 2006-03-23 11:18:48 得分 5
试试加引号 xxx "*.jpg"Top
3 楼jixingzhong(瞌睡虫·星辰)回复于 2006-03-23 13:01:18 得分 5
用非系统通配符 ...Top
4 楼yqzq(花心萝卜)回复于 2006-03-23 20:38:28 得分 0
散分Top
5 楼iambic()回复于 2006-03-23 20:46:45 得分 5
命令行是一个shell,shell的目的之一就是处理参数,把合适的传给应用程序。你敲xxx *.jpg的时候,shell会把*.jpg展开,然后把展开的结果散成参数穿给应用程序。这个OS无关,是shell解释器的原因;也不是shell自作聪明,每个shell都应该这样做。
如二楼的一位朋友,敲xxx "*.jpg",传给应用程序的不是xxx和"*.jpg",而是xxx和*.jpg,引号已经去掉了,内容也未转义。应该是你想要的结果。
另外我觉得你的工作是白做了,没有用处。几乎所有常见的操作系统提供的所有的shell都有这个解释功能的。否则用户不累死了。Top




