朋友们,
gnu.getopt.Getopt.jar
有一些问题,当我给b *作为选项参数然后它作为bin时,我遇到了一些问题
Getopt g = new Getopt("cm_log_parser", args, "i:s"); //-D to enable debug log
while((opt = g.getopt()) != -1)
{
switch (opt)
{
case 'f'://To set file name(if above is not specified)
fileNameWithPath = getAndCheckOptArg(fFlag, opt, g);
fFlag = true;
break;
case 'p'://To set the pattern
String pattern = g.getOptarg();
hFlag = true;
break;
case '?':
usage("Invalid option" + opt + " option");
break;
}
}
当我指定-p "b*"
时,它会返回bin
,为什么会发生这种情况?
答案 0 :(得分:1)
shell(我怀疑你使用Linux,对吗?)将b*
文字解析为bin
(当前工作目录中必须有一个名为bin
的目录),因为它被视为通配符。
根据您使用的shell,您必须转义星号...例如在bash中,使用
-p b\*
将它转换为星号而不是由shell解析