システムサービスでsttyを呼び出します。

システムサービスでsttyを呼び出します。

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

関連情報