Команда запуску екрана, від'єднайте та отримайте вихід


3

Я намагаюся написати сценарій, який з'єднує та запускає команду на / dev / ttyUSB0 після цього отримує вихід.

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

Але це не створює вихідний файл. Як я можу вирішити це питання? Будь-які ідеї?


1
@mtndesign В майбутньому, будь ласка, перевірте форматування коду, вам також доведеться видалити `backticks`. Дякую.
slhck

Відповіді:


1

Спробуйте pyserialбібліотеку пітона. Я думаю, ви можете вирішити це за допомогою цієї бібліотеки. Ви можете знайти підручник тут


0

screenдобре, щоб ваш термінальний сеанс був відключений. Однак він не був розроблений для автоматичного запуску команд на терміналах.

Для цього був розроблений ще один інструмент - expect.

expect дозволяє сценарій взаємодії з людиною з програмами, що працюють на терміналі.

Це потужний інструмент, але це ще одна мова скриптів, яку слід вивчити, і може бути трохи нудною. Якщо ви знайомі з Perl, модуль Perl Expect може заощадити багато зусиль (також можна очікувати модулів для інших мов сценарію, таких як Python).

Ще одна примітка. У вашому випадку, здається, /dev/ttyUSB0це серійний USB-пристрій, який може підключитися або відключитися в будь-який час. Якщо ви хочете автоматично підтримувати взаємодію з цим інтерфейсом USB-послідовного перегляду, ви можете розглянути можливість перегляду цього пристрою, щоб він з’явився / зникнув і знову підключився автоматично (скажімо, в сценарії Perl), або додати правило udev (під /etc/udev/rules.d), яке автоматично запустить ваш програма підключення як новий пристрій USB.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.