我正在尝试为Mac OSX Mountain Lion编写一个shell脚本(10.8.2)。但是,无论我尝试什么,我都无法使用switch语句。他是剧本的简化版本:
#!/bin/bash
while getopts "ei" opt; do
case $opt in
e)
echo "Got option e"
;;
i)
echo "Got option i"
;;
\?)
echo "Invalid option: -$opt"
;;
esac
done
无论我尝试什么,我都没有得到任何输出。有任何想法吗?我过去做过这样的剧本。
答案 0 :(得分:3)
您可能错误地传递了选项,不要忘记-
script.sh -e
请注意,您也应该在无效选项后退出:
\?)
echo "Invalid option: -$opt"
exit 1
;;
答案 1 :(得分:0)
尝试替换
\?)
echo "Invalid option: -$opt"
;;
使用:
*)
echo "Invalid option: -$opt"
;;