Bash:String包含连字符

use*_*285 7 string bash contains hyphen

我试图看看string1是否包含另一个string2.我这样做:

a=$(tempfile)
echo "eafg" > $a

if [[ $a == *e* ]]
then
   echo "contains"
fi
Run Code Online (Sandbox Code Playgroud)

现在我尝试查看字符串是否包含连字符:

a=$(tempfile)    
echo "22:00:00-02:00" > $a

if [ $a == *-* ]
then
   echo "contains"
fi
Run Code Online (Sandbox Code Playgroud)

它不起作用.我也尝试过:

if [ $a == *--* ]
if [ $a == *---* ]
if [[ $a == *-* ]]
if [[ $a == *--* ]]
if [[ $a == *---* ]]
Run Code Online (Sandbox Code Playgroud)

没有成功......

提前致谢

jks*_*hah 7

下面的代码带来了问题

a=$(tempfile)    
echo "22:00:00-02:00" > $a
Run Code Online (Sandbox Code Playgroud)

在这里,您正在写入文件 $a,然后尝试进行字符串比较.


试试以下

a="22:00:00-02:00"

if [[ $a == *-* ]]
then
   echo "contains"
fi
Run Code Online (Sandbox Code Playgroud)