0
我看到是否有方法让getopts
用字符串而不是字符来处理交换机。有没有办法让字符串作为使用getopts的开关?
例如,我想提供这样的事情:
script.ksh -file1 file1.txt -file2.txt
相反的:
script.ksh -f file1.txt -g file2.txt
这可能与UNIX getopts
?
我看到是否有方法让getopts
用字符串而不是字符来处理交换机。有没有办法让字符串作为使用getopts的开关?
例如,我想提供这样的事情:
script.ksh -file1 file1.txt -file2.txt
相反的:
script.ksh -f file1.txt -g file2.txt
这可能与UNIX getopts
?
不,这不可能与getopts
。您必须自己解析,例如用case
开关:
while (($# > 0))
do
case "$1" in
-file1)
shift
file1=$1;;
-file2)
shift
file2=$1;;
esac
shift
done
外部getopt
(注意,没有“S”)可处理长选项,但它有自己的缺点。
从不使用getopt的(1)。 getopt不能处理空的参数字符串或嵌入空白的参数。请忘记它曾经存在过。
我有一种感觉是这样。非常感谢! – Shane 2010-08-05 16:14:47