Я написал ожидаемый сценарий, который превратит ssh в raspberry pi, а затем в специально созданное радиоустройство.Он будет md5 файл в файловой системе, а затем сравнить его с известным хорошим md5.Затем он выдаст команду для перезагрузки устройства.Проблема в том, что команда "send" reboot \ r "" фактически никогда не обрабатывается радиоустройством.Expect отправляет его на правильный wait_id, но ничего не происходит.
Я попытался переместить строку в сценарии.Самое смешное, что он будет работать, когда он помещен выше вызова md5sum.Если это сделано в любое время после вызова md5sum, оно никогда не будет работать.Я попытался использовать полный путь команды перезагрузки, и без.Ни одна из них не работает.Посмотрите код ниже.Пользовательское радиоустройство работает под управлением старой версии ядра linux.Я написал 2-3 других скрипта, которые работают на этих радиостанциях, и регулярно перезагружаю их во всех скриптах.Однако для этого конкретного сценария он просто не работает (в зависимости от расположения строки кода).
send "md5sum /root/BS5000/bs_config.xml\r\n"
sleep 3
send "/sbin/reboot\r"
Здесь нет сообщений об ошибках, он просто ничего не делает.СЛЕДУЕТ выполнить команду перезагрузки.