2013-06-27 63 views
0

我测试getopt为我的伯恩脚本,我发现一些非常有趣的结果。命令行参数与getopt无法正常工作

如果我做到以下几点:

./myscript -z blah -o legal -p another_legal 

正如预期的那样,我会得到:

getopt: illegal option -- z 
getopt: illegal option -- 
getopt: illegal option -- b 
getopt: illegal option -- l 
getopt: illegal option -- a 
getopt: illegal option -- h 

但是,如果我这样做:

./myscript -o legal -p another_legal -z blah 

getopt不赶这个。任何想法为什么?

回答

3

"$*"将您函数收到的所有参数作为单个参数传递给getopt。所以你基本上是在运行getopt lLo:p:t: "-o legal -p another..."你想要"[email protected]"

+0

就是这样,谢谢! –