Bash: CANbus 비트 전송률이 올바르게 구성되었는지 확인

Bash: CANbus 비트 전송률이 올바르게 구성되었는지 확인

저는 CANbus 비트 전송률이 여러 가능성 중 하나가 될 수 있는 임베디드 Linux(4.1.15) bash 스크립트를 개발 중입니다. 내 모듈이 온라인 상태가 되면 목록의 첫 번째 비트 전송률을 찾아 트래픽을 확인하고, 트래픽이 없으면 트래픽이 감지될 때까지 비슷한 방식으로 각 비트 전송률을 반복합니다.

나의 초기 접근 방식은 비슷한 작업을 수행하는 것이었습니다 timeout -t 1 output=$(candump can0). 출력이 비어 있으면 비트 전송률이 잘못된 것입니다. 그러나 이 timeout함수는 명령에서 강제로 반환되지 않는 것 같습니다.

두 번째 접근 방식은 ip -details -statistics link show can0.

이 명령은 uname -rms시스템에 대한 버전 정보를 생성합니다.Linux 4.1.15 armv7l

누구든지 이러한 방법 중 하나를 효과적으로 작동시키는 방법을 알고 있거나 다른 방법을 알고 계시다면 저는 귀를 기울일 것입니다. 가장 중요한 것은 bash 스크립트를 사용하여 이 작업을 수행할 수 있는 방법을 찾아야 한다는 것입니다.

답변1

(내 timeout 명령은 사용되지 않지만 -t다른 버전이 있는 것 같습니다.) 타임아웃 부분을 넣어서 명령에 대한 신호를 보낼 $()수 있어야 하며 canbus최소한 output변수에 대한 할당은 항상 생성되어야 합니다.

output=$(timeout -t 1 candump can0)

관련 정보