-1
我正在写一个脚本,可以采取2-4参数:庆典 - 在非尾可选参数的位置
arg1 arg2 arg3 arg4
arg2
和arg3
是强制性的,将被提供,但arg1
和arg4
是可选的。在三个参数的情况下,我如何检查是否给出了arg4
?
如果参数的数量是四个,那么这是显而易见的;然而,与正好三个参数,我不知道它是arg1
或arg4
是不存在的,如下面的情况:
./script arg2 arg3 arg4
不能有多个可选参数配置这样的。想想看。无法将'arg1 arg2 arg3'与'arg2 arg3 arg4'区分开来。你可以检查用'$#'给出的参数数量。 – e0k
好吧,没办法*除非*有内容限制 - 例如,如果arg1总是一个数字,而arg2不能是数字,那么可能......但是OP没有提供足够的信息给这里做出这样的区分,无论如何这是一种不必要的脆弱方法。 –