shell如何判断两个含特殊字符的字符串变量是不是相等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell如何判断两个含特殊字符的字符串变量是不是相等相关的知识,希望对你有一定的参考价值。

变量的值来自运行其他程序的结果,例如result1=`./a.out`,result=`./b.out`,我想比较result1和result2是否相等。
问题是程序返回结果中含有"",echo "$result1"显示为this is "test.c",含有特殊字符,如果用"$result1" = "result2"判断会报错,该怎么比较二者是否相同值?

参考技术A 把其他程序的返回重定向到临时文件。
用命令cmp比较临时文件。(cmp -s "$file1" "$file2")
测试cmp的退出码。

参考资料:鸟哥私房菜——信鸟哥,得永生

参考技术B 测试了一下 工作很好呀没有问题呀,可以很好的工作

#!/bin/bash

a="\"test.c\""
b="\"test.c\""

echo $a
echo $b

[ "$a" == "$b" ] && echo 0 || echo 1
a="\"test.c\"\""
b="\"test.c\""

echo $a
echo $b

[ "$a" == "$b" ] && echo 0 || echo 1本回答被提问者采纳

Excel,VBA中,如何判断变量是不是包含特定字符串

excel单元格中可以用调用find,search的Application.WorksheetFunction公式。但vba的变量用什么方法?
现在是假定变量a="我想测试是否包含aa字符串",这个变量a中是否含有aa,如何测试??

VBA 中可以使用 这两个函数 函数啊……
也可以直接使用 另外一种 Like 函数……
如:
If A Like "*aa*" Then
MsgBox "A中有aa 这个字符串"
Else
MsgBox "A中没有aa 这个字符串"
End If
或者 使用 InStr 这个函数计算 也可以……
参考技术A if instr(1,a,"aa") >0 then
msgbox("a 包含 'aa'")

else
msgbox("a 不包含 'aa'")
end if本回答被提问者采纳

以上是关于shell如何判断两个含特殊字符的字符串变量是不是相等的主要内容,如果未能解决你的问题,请参考以下文章

shell的if命令如何判断一个文件中所含指定字符串?

shell中如何判定一个字符串里是不是有空格?

判断一个变量是不是是NaN

如何正确处理Shell 函数传人参数中包含的特殊字符

shell如何比较 两个字符串是不是相等?

shell的sed工具,如何删除一个文件中包含了特殊路径字符串的行? 例如文件file,里面有内容,