Не самое симпатичное решение, но это, кажется, работает (использование дурака 1.5.20) с идентификатором сообщения, взятым от моего ящика входящих сообщений в $MSGID:
mutt -e "macro index - 'l~i${MSGID}'; push -\n"
Если Вы уже используете '-' ключ для чего-то в индексе, выбирают другой ключ вместо этого.
Существует названная утилита командной строки ttyecho
это может отправить команду на другой терминал (tty/pts) и выполнять команду.
sudo ttyecho -n /dev/pts/5 ls
См.: утилита для отправки команд или данных к другим терминалам (tty/pts)
Также см.: ttyecho
исходный код на GitHub.
Другая интересная команда tty selector
, интерактивный сопоставитель в реальном времени в консоли, которая обновляет tty входной буфер.
# selector examples
selector -v -x @ <(find . -maxdepth 2 -type d | awk '{print $0"@cd "$0}')
selector -v -x @ <(grep -E -o 'http[^ ]+' fileWithURLS)
Когда Вы выпускаете запись к /dev/pts/X
(/proc/6350/fd/0
, 1
и 2
просто символьная ссылка на тот), что происходит, точно то же самое, которое происходит когда процесс 6350
(или один из его детей, соответственно разветвленных), производит что-то: это пишет в терминал.
При попытке читать из того устройства (cat < /dev/pts/X
), броские вещи произойдут. Необходимо видеть вещи, которые Вы вводите в исходной оболочке, обнаруживаются. (Вполне возможно только после первой новой строки Вы ввели - я предполагаю терминальную программу (xterm
или независимо от того, что Вы используете), делает некоторую буферизацию строки, и 6350
оболочка, которая была заблокирована на read
получает ту часть; затем любая оболочка могла бы, или нет, выиграть последующие чтения, но я мог бы очень хорошо быть абсолютно неправ в этом.)
Вещь: когда Вы читаете из или пишете в то устройство, Вы не говорите с другой оболочкой, которая использует его. Вы говорите с эмулятором терминала (xterm
например). Только эмулятор терминала может ввести данные в тот канал (что оболочка читает), и все, что записи оболочки переходит к терминалу. Присоединение второй оболочки не изменяет это.
Если Вы хотите ввести команды в это 6530
процесс, это должно будет сделать это через терминал (является ли это приложением X11 или чем-то еще).
Рекомендуемое чтение: Каково точное различие между 'терминалом', 'оболочкой', 'tty' и 'консолью'?
cat /dev/pts/x
, Вам не нужно <
) Я получаю буквы, строго переменные между терминалами.
– Kevin
22.05.2012, 21:50
/proc/6350/fd/0
символьная ссылка на stdin родителя process 6350
который является терминалом. Я предполагаю, что это - то же для оконных приложений?
– rvlander
23.05.2012, 10:40
ttyecho
исходный код на GitHub, кажется, повреждается. Однако это, кажется, доступно по github.com/osospeed/ttyecho вместо этого, теперь. – Wilson F 26.06.2017, 22:49