expect
起動時に実行したいスクリプトがあります。とりわけ、いくつかのシリアルポートを設定します。 systemdを介して実行すると、次の結果が表示されます。
couldn't read file "/dev/tty": no such device or address while executing exec /bin/stty -F /dev/ttyACM0 ... </dev/tty
systemd
端末を制御せずにサービスをプロセスとして実行するためだと思いますが、この問題を解決する方法はありますか?呼び出されたスクリプトに参照がありません/dev/tty
。
stty -F /dev/ttyACM0 ...
答え1
stty
設定する tty を指定する方法には、 を使用するか、 の-F /dev/your_tty
ように stdin をリダイレクトする 2 つの方法があります< /dev/your_tty
。
両方を同時に使用することは意味がありません。< /dev/tty
最後に削除してください。
編集する
編集後:今問題は、なぜ呼び出しがstty
最初にwithに変換されるのかということです。< /dev/tty