Bash: получать сообщения от фонового процесса - PullRequest
0 голосов
/ 28 августа 2018

Я отправляю данные через cansend на vcan0, в то же время я слушаю сообщения, которые были отправлены на vcan0 через candump vcan0.

По какой-то причине я не получаю никаких сообщений при отправке данных на vcan0 через скрипт, но когда я отправляю данные через терминал, скрипт каким-то образом получает данные.

cansend vcan0 004#0152FEE400000000 # sending data to vcan0
while true;
do
  msg_candump=$(candump vcan0) # read vcan0
  if [[ ${#msg_candump} > 1 ]]; then #received msg
    echo $msg_candump
  fi
done

1 Ответ

0 голосов
/ 30 августа 2018

это сделал работу:

while true;
do
  cansend vcan0 '004#0152FEE400000000'
  sleep 1
  msg_candump="$(candump vcan0 -n 1)" # read vcan0
  if [[ ${#msg_candump} > 1 ]]; then #received msg
    echo $msg_candump
    msg_candump=${msg_candump// /} # leerzeichen entfernen
    msg_candump=${msg_candump:19:8} # substring holen
    msg_candump=${msg_candump,,} #lowercase
    if [[ $msg_candump != `git log -1 --format="%h"`0 ]]; then
      echo "git pull"
      #git pull
      break
    fi
  fi
  sleep 0.025
done
...