发布网友 发布时间:2022-04-23 17:02
共3个回答
热心网友 时间:2023-10-10 02:02
这里不是case语句里面的问题,其实用'*'和\*都是可以匹配到的。
问题是怎么传的参数。
运行这个脚本的时候,第二个参数($2)应当是'*'而不是*
如果第二个参数是*,shell会当做通配符来解释,脚本里面肯定匹配不到。
热心网友 时间:2023-10-10 02:02
"\*" 转义试一下追问效果一样的,我使用的是 单引号 ‘*’ , 其meta语义已经完全被关闭了
追答临下班,要走,问题理解错了。
你只能在输入的时候\*转义一下,要不*不会作为字符来判断
比如test.sh是脚本名称,运行时
./test.sh 2 \* 2 这样来运行,就可以了。
或者直接把* 改成 x
./test.sh 2 x 2 不也可以吗?=^_^= 何必纠结一个字符呢。
热心网友 时间:2023-10-10 02:03
为什么你后面不用引号?
建议你使用单引号,这样可以避免因为*的特殊含义导致判断失败的问题