【发布时间】:2018-01-14 11:19:11
【问题描述】:
我正在尝试在 switch case 循环中使用 getopts。 如果我只使用 getopts 或只使用 switch case,它就可以工作,但是当我将这两个结合起来时,getopts 不会触发。
我搜索了很多,但我发现任何关于如何组合它们的内容,问题是我错过了一些愚蠢的东西,所以给我...
这里是代码精华。
#!/bin/bash
case $1 in
ver)
echo "vesion"
exit 0
;;
op)
while getopts ":a" opt; do
case $opt in
a)
echo "-a was triggered!" >&2
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done
;;
esac
当我这样做时
# bash -x test.sh op -a
我明白了
+ case $1 in
+ getopts :a opt
(如果没有调试,我什么也得不到)
将这两者结合起来我缺少什么
谢谢:)
【问题讨论】:
标签: bash shell arguments getopts