Симуляция Enter Нажмите на экране

Я успешно выполнил команду

screen -S Run -X stuff 'stop'`echo -ne '\015'` 

в терминале, и у меня на экране «Выполнить» была получена команда «Стоп», а затем получен смоделированный ввод. Это приводит к завершению программы, работающей на этом экране. Однако, когда я пытаюсь сделать скрипт, который выглядит следующим образом

#!/bin/sh
  screen -S Run -X stuff 'stop'`echo -ne '\015'`

, экран восстанавливает текст

-X: stuff: invalid option stop-ne

Я хотел бы знать, что не так с моим сценарием и как исправить Это значит, что экран Run получает команду остановки, а затем получает ввод

.
0
задан 13 January 2014 в 02:05

2 ответа

Версия sh echo не поддерживает опции.

Измените ваш сценарий так, чтобы он запускался с помощью Bash, например:

#!/bin/bash
screen -S Run -X stuff 'stop'"$(echo -ne '\015')"

В качестве альтернативы, просто вставьте буквальную новую строку в строку вместо того, чтобы полагаться на echo:

#!/bin/sh
screen -S Run -X stuff 'stop
'
0
ответ дан 13 January 2014 в 02:05
  • 1
    @Oli, на самом деле у них есть идентификаторы поставщика/продукта/устройства. В usb они хранятся последним портом концентратора usb (4-5 в Вашем случае). в PCI они хранятся в 0000:02:00.0 (I' m не знакомый с путями PCI). Посмотрите мое обновление, как соответствовать им. – user.dz 7 July 2015 в 00:27

попробуйте:

screen -S Run -X stuff 'stop^M'
0
ответ дан 13 January 2014 в 02:05

Другие вопросы по тегам:

Похожие вопросы: