比较if条件中的两个字符串,其中一个是$line-SHELL脚本

比较if条件中的两个字符串,其中一个是$line-SHELL脚本,shell,Shell,我遇到了这样的问题: while read line do if [ "$line" == "<main>:" ]; then OBJ=$line fi echo "$OBJ goes to $line" done < temp > file 读取行时 做 如果[“$line”==”:“];然后 OBJ=$line fi echo“$OBJ转到$line” 完成文件 我需要过滤最后有“>:”的所有字符串(而不是

我遇到了这样的问题:

while read line
do
       if [ "$line" == "<main>:" ]; then
       OBJ=$line
       fi
       echo "$OBJ goes to $line"
done < temp > file
读取行时
做
如果[“$line”==”:“];然后
OBJ=$line
fi
echo“$OBJ转到$line”
完成文件
我需要过滤最后有“>:”的所有字符串(而不是 我需要过滤最后有“>:”的所有字符串

您可以在BASH中使用此选项:

[[ "$line" == *">:" ]]

哦,我不知道为什么是这样,但它工作得很好。非常感谢。这叫做“全球模式”。
*“>:“
指的是后面跟着
>:
的任何东西。