我正在努力学习案例,因为我正在编写一个功能齐全的脚本。Bash案例陈述
我开始了与下面
#!/bin/sh
case [email protected] in
-h|--help)
echo "You have selected Help"
;;
-B|-b)
echo "You have selected B"
;;
-C|-c)
echo "You have selected C"
;;
*)
echo "Valid Choices are A,B,C"
exit 1
;;
esac
我想用两个选项:
./getopts.sh -h -c
,但我得到这个结果 有效的选择是A,B,C
请你帮忙,让我知道我做错了什么?
我想要建立一个脚本,如果你输入一个选项,它会做某些事情,但如果你输入多个选项,你可以做很多事情。
另外,我将如何解析$ 1到这个脚本作为surley哪个选项我第一次输入(-h)将是$ 1?
谢谢!
你为什么不使用'getopts',而不是'case'? – fedorqui
我对任何想法都很开放,因为我还没有真正使用过。我需要学习这个,而不是拥有1000个嵌套的if语句 – bsmoo
@fedorqui即使使用getopts,仍然需要一个循环(通常是一个'while循环)和某种案例分析,'case'比if更好...... elif ......就是为了这个目的。 – Uwe