我写了以下bash脚本:
v1 = grep 'a' a.txt
v2 = grep 'a' b.txt
问题是我的脚本将始终显示"不同的"即使存储在value和value2变量中的字符串没有不同。 bash实际比较了什么?
另一个与此问题相关的问题。我们说我们有:
A
如果grep结果很大,我们可以存储和比较这些变量吗(假设每个变量都超过50000行)?
〜
答案 0 :(得分:3)
在条件:
中,比较运算符周围需要一个空格if [[ "$value" != "$value2" ]]; then
echo "different"
else
echo "match"
fi
如果你不这样做,你只是测试一个字符串 - 字面意思Maria Ion Gheorghe Vasile Maria Maria Ion Vasile Gheorghe!=Maria Ion Gheorghe Vasile Maria Maria Ion Vasile Gheorghe
,条件将始终评估为真,从而产生different
。