Macos 如何比较shell中的两个值?

Macos 如何比较shell中的两个值?,macos,shell,terminal,zsh,Macos,Shell,Terminal,Zsh,似乎GOOGLE==currentDNS currentDNS=$(networksetup -getdnsservers Wi-Fi) GOOGLE="8.8.8.8 8.8.4.4" echo '+'$currentDNS'+' echo '+'$GOOGLE'+' 但是它返回false请尝试使用首选的bash测试执行此操作[[]]: if [ "$currentDNS" = "$GOOGLE" ];then echo OKK fi 要弄清楚 [[ $currentDNS ==

似乎GOOGLE==currentDNS

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

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

但是它返回false

请尝试使用首选的bash测试执行此操作
[[]]

if [ "$currentDNS" = "$GOOGLE" ];then
   echo OKK
fi
要弄清楚

[[ $currentDNS == $GOOGLE  ]] && echo ok || echo >&2 "Not OK"
试试这个:

networksetup -getdnsservers Wi-Fi
也许

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

od-c networksetup可能会返回以制表符分隔的字符串。在echo中加上双引号,并可能将它们通过管道传输到
cat-tve
尝试
echo“+$currentDNS+”
以查看参数中真正存储的内容。不带引号,任何空白都将被删除,生成的单词将由
echo
打印,并用单个空格分隔。
od -c <<< "$currentDNS"