我想写一个bash脚本,它会告诉两个字符串是否具有相似的值。我公司生产的此bash脚本:Ubuntu的bash脚本字符串包含类似的词
#!/bin/bash
value="java.lang.NullPointerException"
if [[ "java.lang.NullPointerException" = "$value" || "java.lang.NullPointerException" == "$value"* ]]; then
echo "Match"
fi
基本上我想才达到的东西,就是如果两个字符串的值相等或非常相似的两侧,但在中间匹配的文本,然后回声“匹配”。
我已经尝试了一些资源,但无法让这个例子工作。我已经采取一看:
- In bash, how can I check if a string begins with some value?
- How to test that a variable starts with a string in bash?
- https://ubuntuforums.org/showthread.php?t=1118003
请注意,这些值最终会从一个文本文件,因此它们的值将是变量的形式。我尝试过不同的方法,但似乎没有得到它的工作。我只是想得到这个如果陈述工作。它适用于匹配文本,但不适用于任何一方的值。值可能是“java.lang.NullPointerException:Unexpected”或“Unexpected java.lang.NullPointerException”。
你有你的操作数命令错误:'in =“test this”; [[“$ in”=“test”*]] && echo ok'正常工作(并且不需要额外的'='测试);这是最短的值,必须用作带'*'的模式 – Aaron
谢谢。这工作。 –
不客气!我建议你删除你的问题,因为它现在已经解决了,只是关于你所链接问题的答案的错误实现。 – Aaron