执行需要2个必需参数-d
和-v
的shell脚本
和1个可选参数-h
无法正常工作
执行脚本store.sh
,如下所示
store.sh -d <directory> -v<version>
我在下面尝试了这个,但它不起作用,脚本运行时只有一个参数,即-d
没有-v
while getopts "hd:v:" arg; do
case "$arg" in
h) usage 0;;
d) DIRECTORY="$optarg" ;;
v) VERSION="$optarg" ;;
*) usage 1;;
esac
done
答案 0 :(得分:1)
启动脚本并将DIRECTORY和VERSION设置为空字符串(最好为它们使用小写,directory
和version
)。
在while循环之后检查变量:
test -z "${directory}" && usage 1
test -z "${version}" && usage 1
如果要支持空目录/版本,请引入额外的var option_d_given
。