Ошибка при поиске несуществующей строки с EDITOR = vi crontab -e

dpkg не предоставляет никаких средств для чтения журнала изменений пакета. вы должны распаковать пакет и прочитать журнал изменений

dpkg -X <package.deb> <folder>

, затем вы можете прочитать журнал изменений с помощью утилиты dpkg-parsechangelog

dpkg-parsechangelog -l <folder>/usr/share/doc/<package>/changelog.Debian.gz

. Поскольку это реальная проблема, если ваш дистрибутив использует apt-get, вы можете использовать

apt-get changelog <packagename>

или

apt changelog <packagename>
2
28.11.2016, 21:37
2 ответа

Не имея источника для Solaris 10 или Solaris 11, я не могу сказать наверняка, но подозреваю, что Томас Дики является на правильном пути, основываясь на своих выводах с помощью vim.

Я отследил источник IllumOS , где поиск для errcnt в каталоге ex / vi показывает, что errcnt только когда-либо увеличивается, а errcnt используется в качестве возврата код из main () .

Таким образом, любой сбой, увеличивающий значение errcnt в vi, «всплывет» в команду crontab, где источник IllumOS для crontab указывает, что он будет недоволен чем-либо, кроме нуля.

Обратите внимание на комментарий в crontab.c!

311             ret = system(buf);
...
327             if ((ret) && (errno != EINTR)) {
328                 /*
329                  * Some editors (like 'vi') can return
330                  * a non-zero exit status even though
331                  * everything is okay. Need to check.
332                  */
1
27.01.2020, 22:44

ОС: Solaris 10, обновление 11 HW: LDOM, виртуальная машина VMware и т. Д. EDITOR = vi term = vt100

Мои наблюдения за поведением vi и crontab аналогичны приведенным выше. Crontab -e выдает ошибку «Редактор указывает, что произошла ошибка, когда вы редактировали данные crontab…»

, и у вас нет другого выбора, кроме как отредактировать снова и снова ... либо выбросить изменения. А использование редактора vi для внесения изменений в любой файл и попытка сохранения только отбросят изменения. Я думаю, что vi также является виновником поведения crontab. Теперь у меня есть сценарий оболочки для vi, чтобы заставить его выйти с нулевым статусом выхода, чтобы vi мог сохранить изменения в отредактированных файлах. И я перенаправляю содержимое crontab в файл, редактирую изменения в файле и перенаправляю обратно в crontab.Немного болезненно и неприятно, но работает, пока мы не дойдем до solaris 11.NK

-1
27.01.2020, 22:44

Теги

Похожие вопросы