Сравнение различий и вывод в отдельный файл

Это определенно проблема со связью через USB. :Время от времени возникают случайные ошибки чтения и разрывы соединения.

Возможные причины:

  • Недостаточное питание USB-устройства.

  • Плохой кабель или кабель вблизи объекта, создающего электромагнитные помехи.

  • Аппаратная ошибка устройства USB.

  • Иногда определенный хост-контроллер USB просто не работает с определенной синхронизацией USB-устройства (? Я видел это, но не объяснял ).

  • Что-то еще.

Попробуйте систематически проводить тестирование. :Подсоедините устройство к другим портам USB на том же или другом компьютере. Используйте другой кабель. Как я уже писал, если он у вас есть или вы можете его одолжить, подключите его к концентратору с питанием.

Если выяснится, что аппаратная часть входного контроллера X -неисправна, вам, возможно, придется вернуть его и получить другой контроллер, если у вас еще есть гарантия.

0
08.10.2019, 06:50
1 ответ

Предполагая, что имя файла (связано с )именем хоста, которое вы упомянули, вы можете сделать что-то подобное в цикле 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
0
28.01.2020, 03:13

Теги

Похожие вопросы