我试图用case语句来判断我是否有合法的命令。 它看起来像这样:
function commandTest { case $1 in –score) echo "something" return 0;; . . . *) echo unknown return 0;; esac return 1 }
现在如果我使用这样的function,它不起作用。 大小写不正确虽然它是相同的
commandTest "-score"
它不打印“东西”。 所以我在这里做错了什么?
在发布之后,您的示例代码在score
前面有一个连字符 (Unicode U + 2013),而不是减号(ASCII 0x2D),这会阻止bash与字符串-score
开关:
–score) echo "something"
至:
-score) echo "something"