Perintah jalankan layar, lepaskan dan dapatkan output

3

Saya mencoba menulis skrip yang menghubungkan dan menjalankan perintah pada / dev / ttyUSB0 setelah itu mendapatkan output.

screen -d -m 'SCREEN COMMAND' -L /dev/ttyUSB0

Tetapi ini tidak membuat file output. Bagaimana saya bisa mengatasi masalah ini? Ada ide?

denizeren
sumber
1
@ mtndesign Di masa mendatang, silakan periksa pemformatan kode, Anda juga harus menghapus `backticks`. Terima kasih.
slhck

Jawaban:

1

Coba pyserialpustaka python. Saya pikir Anda bisa menyelesaikannya dengan perpustakaan ini. Anda dapat menemukan tutorial di sini

0xmtn
sumber
0

screenAdalah baik untuk membuat sesi terminal Anda berjalan terpisah. Namun, itu tidak dirancang untuk menjalankan perintah pada terminal secara otomatis.

Untuk tujuan ini, alat lain dikembangkan - expect.

expect memungkinkan untuk skrip interaksi mirip manusia dengan program yang berjalan di terminal.

Ini adalah alat yang ampuh, tetapi juga bahasa scripting lain untuk dipelajari dan bisa sedikit membosankan. Jika Anda terbiasa dengan Perl, modul Perl Expect dapat menghemat banyak usaha (ada juga modul yang diharapkan untuk bahasa skrip lain seperti Python).

Satu catatan lagi. Dalam kasus Anda, sepertinya perangkat /dev/ttyUSB0serial-over-USB yang dapat terhubung atau terputus kapan saja. Jika Anda ingin menjaga interaksi secara otomatis ke antarmuka serial-over-USB ini, Anda dapat mempertimbangkan apakah perangkat ini muncul / menghilang dan terhubung kembali secara otomatis (misalnya dalam skrip Perl), atau tambahkan aturan udev (di bawah /etc/udev/rules.d) yang secara otomatis akan memulai program handler sebagai perangkat USB baru terhubung.

mvp
sumber