【发布时间】:2014-07-30 18:06:48
【问题描述】:
我正在尝试查找两个 IP 地址是否相同。我承认我是 bash 的新手,但我认为这没有任何原因:
if [[ "$IPAddress" != "$OLDIPAddress" ]]
then
echo "IP Not the Same"
else
echo "IP Same"
fi
出于测试目的,我什至对这两个变量的值进行了硬编码,但它们仍然显示不一样。我知道您并不总是看到自己的拼写错误,但我不明白为什么这不起作用。有什么想法吗?
【问题讨论】:
-
请告诉我们
$IPAddress和$OLDIPAddress是如何定义的。 -
这两个值是什么?甚至是测试的。如果将它们都发送到
xxd或hexdump,你会得到什么? -
这取决于您所说的“相同”......“127.0.0.1”与“127.000.000.001”“相同”吗?如果是这样,那么简单的文本比较将是不够的......
-
@twalberg 八进制定义真的很少见。这不太可能是原因,但是,嘿!还是好点! :)
-
@hek2mgl 不一定会考虑八进制,尽管这也是一个有效的观察结果......我更多的是考虑一个基于表单的条目,它可能会返回相当于例如
printf "%03d" x对于每个八位字节...永远不要相信输入....
标签: bash ubuntu ip-address