我正在尝试使用case语句来确定我是否有合法的命令。它看起来像这样:
function commandTest {
case $1 in
–score) echo "something"
return 0;;
.
.
.
*) echo unknown
return 0;;
esac
return 1
}
现在如果我使用这样的功能,它就不起作用了。 case虽然相同但无法正确识别字符串
commandTest "-score"
它不会打印“某事”。那我在这里做错了什么?
答案 0 :(得分:6)
发布后,您的示例代码在score
前面有en-dash(Unicode U + 2013),而不是减号(ASCII 0x2D),这会阻止bash匹配字符串{ {1}}
开关:
-score
为:
–score) echo "something"