В сеансе tmux я пытаюсь выяснить, существует ли быстрый способ отправки некоторых выходных данных из одной панели в параллельную панель.
Например, если я нахожусь в левой панели (скажем, 0.0) и хочу отправить вывод команды pwd
в правую панель (скажем, 0.1). Есть ли быстрый способ сделать это?
Заранее извиняюсь, если на этот вопрос есть ответ, но гуглил слишком долго, но ничего не нашел tmux send-keys -t right 'some text'
.
Вместо этого я хочу отобразить вывод в соседней панели. Есть ли способ это сделать?
решение1
Я хочу отобразить вывод в соседней панели
Если вы знаете имя файла терминала, подключенного к другой панели (что tty
печатает), вы можете записать в него. Пример:
pwd >/dev/pts/1
Но это толькоотображаетсимволы там; нет взаимодействия с любой программой, запущенной в панели. Вы использовали слово "отображение", но я не уверен, что это то, что вы хотите. Решение работает и без tmux.
Если вы хотите отправить вывод на стандартный ввод какой-либо команды, которую вы собираетесь вызвать в другой панели, используйте именованный канал:
mkfifo foo
pwd >foo
Теперь перейдите в другую оболочку (другую панель) и прочитайте foo
:
<foo whatever
Это также не зависит от tmux.
Если вы хотите вставить вывод в другую панель (например, чтобы сделать его фрагментом новой команды в оболочке):
- Вызвать
pwd
как обычно в исходной панели. - Перейдите в режим копирования и скопируйте вывод. При поддержке мыши достаточно удерживать левую кнопку мыши и перетаскивать. После того, как вы отпустите кнопку, выбранный текст автоматически сохраняется в буфере.
- На целевую панель.
- Вставьте сохраненный текст с помощью
paste-buffer
( prefix]по умолчанию).