有个linux shell 的问题 , 怎么判断个 * 号 就这么难!!

发布网友 发布时间: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

为什么你后面不用引号?
建议你使用单引号,这样可以避免因为*的特殊含义导致判断失败的问题

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com