USBポートからファイルにシリアルデータを記録するスクリプトを作成しており、次のようにデータを記録するために使用していscript
ます。picocom
sudo script -a -c 'sudo picocom /dev/ttyUSB0 | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/device1.log
うまく動作しています。今までopenPort
呼び出せるようにスクリプトでラップしたいです。openPort device1 USB0
sudo script -a -c 'sudo picocom /dev/tty"${2}" | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/${1}.log
残念ながら、COMポートは開かれません。 fromを使用する代わりに、script
実行する新しいセッションを開始することが問題のようです。引数を正しく渡す方法はありますか?sudo picocom /dev/tty"{2}"
openPort
答え1
一重引用符内の内容はすべて拡張されないため、引用符からこのパラメータを削除してください。
sudo script -a -c 'sudo picocom /dev/tty'"${2}"' | ts "%Y-%b-%d %H:%M:%S10"' /usr/local/logs/${1}.log
Shellは、すべての部分を1つにまとめることを担当します。