【发布时间】:2011-03-01 12:23:47
【问题描述】:
我需要在我的主脚本中调用另一个 shell 脚本 testarg.sh。此脚本 testarg.sh 具有参数 ARG1、ARG2、ARG3。我需要通过以下方式调用:
./testarg.sh -ARG1 <value> -ARG2 <value> -ARG3
ARG1 和 ARG3 参数是强制性的。如果它没有传递给主脚本,那么我退出。 ARG2 是可选的。如果 ARG2 变量未设置值或未定义,则无需从主脚本传递它。所以我需要通过以下方式调用
./testarg.sh -ARG1 <VALUE1> -ARG3
如果 ARG2 变量的值存在,那么我需要调用以下方式:
./testarg.sh -ARG1 <VALUE1> -ARG2 <VALUE2> -ARG3
我是否需要一个 if else 语句来检查 ARG2 变量是空还是 null?还有其他方法吗?
修改
如果设置了 ARG2,那么调用应该是:
./testarg.sh -ARG1 -OPT2 $ARG2 -ARG3
【问题讨论】:
-
你的脚本必须在 shell 中吗?它变得足够复杂,以至于我个人会切换到另一种语言,例如Python 或 Perl。
-
您的“修正”与问题的其余部分不一致 - 是什么?