私はCANbusビットレートがいくつかの可能性の1つになることができる組み込みLinux(4.1.15)bashスクリプトを開発しています。モジュールがオンラインになると、リストの最初のビットレートを見つけてトラフィックを確認し、トラフィックがない場合はトラフィックが検出されるまで同様の方法で各ビットレートを繰り返します。
私の最初のアプローチは同様のことをすることでしたtimeout -t 1 output=$(candump can0)
。出力が空の場合、ビットレートは無効です。ただし、このtimeout
関数はコマンドから強制的に返されないようです。
2番目のアプローチはip -details -statistics link show can0
。
このコマンドはuname -rms
システムのバージョン情報を生成します。Linux 4.1.15 armv7l
誰かがこれらの方法の1つを効果的に動作させる方法を知っている場合、または他の方法を知っている場合は、私は耳を傾けます。最も重要なのは、bashスクリプトを使用してこれを行う方法を見つける必要があることです。
ベストアンサー1
(私のtimeoutコマンドは使用されていませんが、-t
別のバージョンがあるようです。)タイムアウト部分を入れてコマンドへのシグナルを送信できるようにする必要があり、少なくとも変数の割り当ては$()
常にcanbus
作成output
する必要があります。
output=$(timeout -t 1 candump can0)