字符串和模式之间的匹配

时间:2018-07-10 15:41:42

标签: bash

给出以下代码:

template=*.ord
if [[ ${template} == 1.ord ]]; then
    echo YES
fi

我想得到YES,但我不明白。
我如何解决它,使其与模式匹配1.ord(而不是template的值)?

2 个答案:

答案 0 :(得分:4)

翻转参数。该模式必须在右侧,不加引号。

if [[ 1.ord == ${template} ]]; then
    echo YES
fi

答案 1 :(得分:-1)

您可以将printfgnu grep一起使用:

template='*.ord'
if printf '%s\0' $template | grep -zqF '1.ord'; then
   echo 'YES'
fi