Я успешно выполнил команду
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 получает команду остановки, а затем получает ввод
. Версия sh
echo не поддерживает опции.
Измените ваш сценарий так, чтобы он запускался с помощью Bash, например:
#!/bin/bash
screen -S Run -X stuff 'stop'"$(echo -ne '\015')"
В качестве альтернативы, просто вставьте буквальную новую строку в строку вместо того, чтобы полагаться на echo
:
#!/bin/sh
screen -S Run -X stuff 'stop
'