Указать непечатаемые ключи в качестве входных данных для команды оболочки

Ubuntu 12.04 LTS Server 64

У меня есть сценарий оболочки, который работает в автоматическом режиме.

Сценарий выполняет команду, которая отображает пользовательский интерфейс curses / ncurses, который обычно ожидает, что пользователь будет перемещаться по меню с помощью клавиатуры.

Чтобы эмулировать пользовательскую навигацию, мне нужно ввести последовательность клавиш:

echo -e "{up-arrow} {space-bar} {enter-key}" | mycommand

Буквальное пространство " " может работать на {space-bar}

А также "\n" может работать на {enter-key}

А как уточнить {up-arrow}?

ПРИМЕЧАНИЕ. В своем исследовании я обнаружил некоторые признаки того, что клавиши со стрелками относятся к категории "нажатие клавиши", а не "нажатие клавиши", поэтому, возможно, не представляется возможным передать клавиши со стрелками в качестве ввода?

Благодарю.

1 ответ

Ну, вы можете использовать код символов Unicode. Некоторые примеры:

  • Для космоса: echo -e "\u0020"
  • Для новой строки (введите): echo -e "\u000A"
  • Для стрелки вверх: echo -e "\u2191"

См. Список символов Unicode для всех из них.

эхо-символы Юникода

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