Назад | Перейти на главную страницу

Tmux send-keys удаление пространства

Я пытаюсь запустить серию команд в tmux из удаленного файла, например:

tmux $(wget -qO- http://example.com/tmux)

Файл содержит такие команды, как split-window и send-keys

Проблема в, send-keys снимает пробелы. Команды send-keys:

send-keys ssh example.com C-m;

Но вместо этого он отправляет sshexample.com

Есть идеи, почему?

Ура!

Предположительно, это интерпретация "send-keys ssh example.com C-m;"как четыре отдельных аргумента и не зная, что поставить между ними.

Пытаться:

tmux "$(wget -qO- http://example.com/tmux)"

Дело не в том, что send-keys точно «удаляют пробелы», а в том, что Space - это один из специальных ключей, распознаваемых tmux и предполагаемых для использования с send-keys команда.

Так что, а не

send-keys ssh example.com C-m;

в этом случае вы должны использовать

send-keys ssh Space example.com C-m;

Подробнее об этом можно узнать на Синтаксис ключей отправки tmux

Я немного боролся с подобной проблемой. Решение оказалось таким:

tmux send-keys -l $var;
tmux send-keys C-m;

благодаря -l, tmux обратил внимание на все признаки. С другой стороны, он не принимал <enter> поэтому требуется отдельный вызов.