LF in ee and mcedit

Если внезапно при старте какой-то софтины в консоль валится такое:

readlink: illegal option -- f
usage: readlink [-n] [file ...]
Could not locate binary file, aborting

значит кто-то добрый своими ручками правил /etc/rc.conf в редакторе mcedit и тот в свою очередь не поставил заветный магический символ LF в конце последней строки.

Палится такой фейспалм следующим образом:

20:29 [ME] ~ ~> cat ee-dited.txt
Line 1
Line 2
Last Line
20:29 [ME] ~ ~> cat mcedit-edited.txt
Line 1
Line 2
Last Line20:29 [ME] ~ ~>
20:29 [ME] ~ ~>

Строка приглашения выводится сразу после последней строчки файла, а не с новой строки.

Косяк этот зачастую обнаружить очень не просто, особенно, если человек с таким не сталкивался. Если mcedit’ом отредактировать крон, например:

env EDITOR=mcedit crontab -e

последнее крон-задание выполняться не будет.

Редактор ee (EasyEdit) таким не страдает, поэтому я отдаю предпочтение именно ему.

P.S.

На некоторых Linux есть редактор nano – он чем-то схож с ee по своей простоте, так вот он по умолчанию ставит переносы строк, которые не вмещаются на экране (на консоли). Чтобы он не страдал такой фигней, его нужно запускать с ключем –w:

nano -w

Теги: , , , , , , , , , ,

csh in single mode on FreeBSD

Если вы любите оболочку csh и редактор ee (Easy Editor), возможно вы сталкивались со следующей проблемой. При загрузке в однопользовательском режиме (4 – single mode), требуется ввести путь к оболочке, по умолчанию это /bin/sh. Если вы вводите /bin/csh – он ругается на невозможность открыть /etc/termcap. Когда вы пытаетесь редактировать в редакторе ee какой-нибудь файл, текст на консоли выглядит как сплошное месиво.

Красная таблетка

Лечится это очень легко. Достаточно указать правильный тип терминала:

setenv TERM cons25

Все, теперь, даже несмотря на то, что терминал не подхватил настройки и украшательства из файла .cshrc, csh жив и вполне юзабелен.


Теги: , , , , , , , , , , , ,