如何在shell中比较两个值?

时间:2014-12-22 16:22:04

标签: macos shell terminal zsh

currentDNS=$(networksetup -getdnsservers Wi-Fi)
GOOGLE="8.8.8.8 8.8.4.4"

echo '+'$currentDNS'+'
echo '+'$GOOGLE'+'

似乎GOOGLE == currentDNS。

if [ "$currentDNS" = "$GOOGLE" ];then
   echo OKK
fi

但它返回false

1 个答案:

答案 0 :(得分:2)

尝试使用首选的bash测试[[ ]]

[[ $currentDNS == $GOOGLE  ]] && echo ok || echo >&2 "Not OK"

要弄清楚如何直接输出

networksetup -getdnsservers Wi-Fi

试试这个:

currentDNS="$(networksetup -getdnsservers Wi-Fi)"
echo "[$currentDNS]"

也许

od -c <<< "$currentDNS"

看看它是否符合你的期望。