如果我的ping成功,我的目的是循环浏览我的ips和poweroff列表。然而,系统似乎挂起了。运行此脚本后,我无法再对系统执行ping操作,也无法关闭系统。如果我通过终端运行ssh 192.168.1.ip "sudo poweroff"
,我就不会遇到这个问题。有什么建议吗?
for ((ip=40, cnt=0; ip<=max; ip++, cnt++))
do
if ping -c 1 192.168.1.$ip &> /dev/null
then
printf "\n${array[$cnt]}: Ping Successful"
ssh 192.168.1.$ip "sudo poweroff"
printf "\n${array[$cnt]}: Power Down Executed\n"
sleep 1
else
printf "\n${array[$cnt]}: Ping Failed\n"
fi
done
运行单个ssh 192.168.1.40 "sudo poweroff"
后系统已正常关闭。在运行我的脚本时,我无法ping通系统但是我可以直观地看到风扇和LED仍处于打开状态。我想我应该使用KVM仔细查看,因为ssh在运行此脚本后不允许允许连接。乍一看,我不明白如何运行ssh 192.168.1.40 "sudo poweroff"
并通过我的脚本运行它确实有所作为。无论如何,我明天会尝试添加更多信息。
答案 0 :(得分:1)
ssh 192.168.1。$ ip&#34;(睡5; sudo poweroff)&amp;&#34;将进程置于远程主机的后台并在关闭电源之前休眠5秒,以便为脚本完成并退出远程主机时间提前... - David C. Rankin
这解决了我的问题。