Ubuntu 22.04を実行している教室でコンピュータをシャットダウンするスクリプトがあります。スクリプトはすべてのシステムをシャットダウンしますが、中断されシャットダウンされません。他に何かがある場合は、スクリプトに追加または変更する必要があります。hothost
シャットダウンするコンピュータのIPアドレスを含むファイル。
#!/bin/bash
while read host; do
sshpass -p 123456 ssh "root@$host" shutdown -h now &
done < hothost
答え1
パスワードの代わりにsshkeysを使用します。また、シャットダウンを実行する前にスクリプトが終了する時間を提供するために、shutdown -h +1を使用して、今後1分後にシャットダウンをスケジュールします。それでも停止している場合は、スクリプトが閉じている間にターゲットのデフォルト端末にログインし、何が停止しているかを確認することをお勧めします。
答え2
スクリプトに < /dev/null を追加して問題を解決しました。
#!/bin/bash
while read HOST ;
do sshpass -p 123456 ssh "root@$HOST" "hostname; shutdown now " < /dev/null;
done < hothost