Я хочу зарегистрировать состояние конкретного интерфейса в моей удаленной машине периодически. Следующий код делает задание.
#!/bin/bash
while [ "1" ]
do
ifconfig usb0 &>/dev/null
if [ "$(echo $?)" == "0" ]
then
sshpass -p passwd ssh -o ConnectTimeout=5 duser@10.1.1.3 ifconfig wave-data
else
echo "usb0 disconnected"
fi
sleep 0.2
done
Удаленная машина подключена через интерфейс usb0. Я хочу, чтобы этот код был устойчив. Таким образом, я тестирую его путем частого выключения и включения моей удаленной машины. Проблема состоит иногда в том, когда я выключаю машину, застрявший код, и это ничего не печатает. Я предполагаю, прерван ли ssh посреди выполнения, это застревает. Как я могу преодолеть это? Там какой-либо альтернативный путь состоит в том, чтобы выполнить команду на удаленной машине и получить вывод?спасибо.