Это определенно проблема со связью через USB. :Время от времени возникают случайные ошибки чтения и разрывы соединения.
Возможные причины:
Недостаточное питание USB-устройства.
Плохой кабель или кабель вблизи объекта, создающего электромагнитные помехи.
Аппаратная ошибка устройства USB.
Иногда определенный хост-контроллер USB просто не работает с определенной синхронизацией USB-устройства (? Я видел это, но не объяснял ).
Что-то еще.
Попробуйте систематически проводить тестирование. :Подсоедините устройство к другим портам USB на том же или другом компьютере. Используйте другой кабель. Как я уже писал, если он у вас есть или вы можете его одолжить, подключите его к концентратору с питанием.
Если выяснится, что аппаратная часть входного контроллера X -неисправна, вам, возможно, придется вернуть его и получить другой контроллер, если у вас еще есть гарантия.
Предполагая, что имя файла (связано с )именем хоста, которое вы упомянули, вы можете сделать что-то подобное в цикле for
:
...
for i in $file
do
if diff -c $i $master > "/etc/ansible/difference/diff_$i" ;then
echo "$i is the same as $master"
else
echo "$i is different from $master"
fi
done
diff
успешно завершает работу (статус = 0 ), если файлы совпадают, и завершает работу с ошибкой (статус = 1 ), если файлы разные, так что вы можете использовать это для проверки с помощью if-else-fi
, как указано выше. Этот код предполагает отсутствие проблем :, он не проверяет, не произошла ли какая-либо другая ошибка.
Вы можете тривиально изменить сообщения, которые программа распечатывает, на сообщения csv и перенаправить вывод в файл, подобный этому:
...
echo "Hostname, comments" > output.csv
for i in $file
do
if diff -c $i $master > "/etc/ansible/difference/diff_$i" ;then
echo "$i, no change"
else
echo "$i, some change"
fi
done >> output.csv