LINUX.ORG.RU

История изменений

Исправление vodz, (текущая версия) :

когда скрипт отправляет сообщение connect на устройство, устройство отвечает, это сообщение записывается в файл serial

Вы смотрели бинарные коды в этом файле serial? Если там концы строк \r\n, то не удивительно, что bash ничего не может сравнить, так как по умолчанию IFS=" \t\n", и \r остаётся у строк команд.

потом скрипт перебирает его, и ищет команды

Вы спутали отладку и правильный метод работы. Нет никакого потом. Как вы узнали момент, когда это потом наступает? Надо сразу читать и анализровать строки:

IFS=$' \t\r\n'
while read string; do
  case "$string" in
     cmd1) действие1;;
     cmd2) действие2;;
     quit) break;;
  esac
done < /dev/ttyACM0

Исходная версия vodz, :

когда скрипт отправляет сообщение connect на устройство, устройство отвечает, это сообщение записывается в файл serial

Вы смотрели бинарные коды в этом файле serial? Если там концы строк \r\n, то не удивительно, что bash ничего не может сравнить, так как по умолчанию IFS=" \t\n", и \r остаётся у строк команд.

потом скрипт перебирает его, и ищет команды

Вы спутали отладку и правильный метод работы. Нет никакого потом. Как вы узнали момент, когда это потом наступает? Надо сразу читать и анализровать строки:

IFS=$' \t\r\n"
while read string; do
  case "$string" in
     cmd1) действие1;;
     cmd2) действие2;;
     quit) break;;
  esac
done < /dev/ttyACM0