Я полагаю, что необходимо Ограничить или Найти для получения повторяющихся назначений, иначе Outlook не развернет их. Кроме того, необходимо Отсортировать по Запуску прежде установка IncludeRecurrences.
Я ответил на свой вопрос! Вам нужно перенаправить ввод и вывод терминала:
#!/bin/tcsh
vi my_file < `tty` > `tty`
Причина, по которой вы получаете сообщение об ошибке, заключается в том, что когда вы запускаете оболочку в своей среде, она запускается в подоболочке, в которой STDIN и STDOUT не подключены к TTY - вероятно, потому, что это в что-то вроде трубопровода. Когда вы перенаправляете, вы открываете новое соединение напрямую с устройством. Так, например, ваша командная строка превращает
$ vi < `tty` > `tty`
в
$ vi < /dev/ttys000 > /dev/ttys000
. Таким образом, вы на самом деле не используете свой старый STDIN / STDOUT, вы создаете два новых файла и сопоставляете их с STDIN вашего процесса vi. /STDOUT.
Теперь расскажите нам, что вы делаете с этим, и мы расскажем, как избежать этой путаницы.
Установите в терминале tty
переменную, а затем перенаправьте ввод-вывод редактора через эту переменную.
В вашем сценарии:
#!/bin/sh
ls | while read a; do vi $a < $MYTTY >$MYTTY; done
И затем выполните команду скрипт с:
$ MYTTY=`tty` ./myscript >/tmp/log
Мне удалось добиться желаемого поведения с помощью bash + Cygwin + Terminator :
#!/bin/bash
vim foo
Запускаем скрипт, vim загружается, сообщений об ошибках нет, ведет себя как обычно. Однако, несомненно, существуют десятки вариаций между нашими настройками, поэтому я не могу рискнуть предположить, в чем разница. Мне любопытно, что это, но у вас это работает, а это важная часть.
Совершенно верно. : -)
Напишите свой сценарий и попросите его вызвать переменную среды EDITOR, для которой вы установите значение «emacsclient». Затем запустите Emacs, выполните Mx server-start
, переключитесь на буфер оболочки ( Mx shell
) и выполните свой сценарий. Emacsclient отобразит то, что нужно отредактировать, и Cx #
будет действовать как команда «готово» и вернет вас к вашему сценарию с внесенными или прерванными изменениями по вашему выбору.
Наслаждайтесь.
Edit: Я хотел добавить, что в наши дни Emacs ЯВЛЯЕТСЯ моей терминальной программой. У меня есть десятки буферов оболочки, и мне не нужно беспокоиться о потере вывода, и я могу использовать всю мощь Emacs для управления и анализа вывода терминала. И пусть сценарии Emacs генерируют ввод в оболочки. На самом деле круто. Например, очень удобно наблюдать за тем, как вывод Tomcat прокручивается в буфере оболочки при редактировании источников, обработке почты или выполнении почти любых действий с Emacs. Когда появляется трассировка стека Tomcat, я могу быстро на нее отреагировать.