gpt4 book ai didi

linux - 比较 boolean 变量以检查互联网连接

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:34 25 4
gpt4 key购买 nike

我正在编写一个小的 bash 脚本来检查我计算机上的互联网连接,它包含两个随时间变化的 boolean 变量。我的问题是……如何比较两者?

我的代码(我认为)非常简单,但它不断给我一个“互联网关闭”,我知道这是不对的。

我在 linux 终端上测试过它,我意识到我对 boolean 值的比较不正确,我似乎无法弄明白。

注意:如果我扩展 if/then 语句,我可以使程序运行...我只想知道如何使其按照下面的设置方式运行。我不明白为什么 boolean 变量比较不能这样工作。

感谢您的帮助!

代码:

prevStatus=false;
newStatus=true;

while true;
do
ping -q -c1 www.google.com;
pingStatus=$?;

if (($pingStatus == 0));
then newStatus=true;
else newStatus=false;
fi;

if (($newStatus != $prevStatus)) && (($newStatus == true));
then echo "internet OFF" >> logfile;
else echo "internet ON" >> logfile;
fi;

prevStatus=$newStatus

sleep 60s;

done;

最佳答案

prevStatus=false
newStatus=false

while true
do ping -a www.google.com > /dev/null
pingStatus=$?

prevStatus=$newStatus
if [ $pingStatus == 0 ]
then newStatus=true
else newStatus=false
fi

if [ "$newStatus" != "$prevStatus" ]
then
if [ "$newStatus" == "true" ]
then echo "internet ON" >> logfile
else echo "internet OFF" >> logfile
fi
fi

prevStatus=$newStatus
sleep 60s
done

关于linux - 比较 boolean 变量以检查互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36167539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com