Sunday, 11 March 2012

Замена стандартного интерпретатора /bin/sh во FreeBSD 8.2 на что-либо нормальное

Собираем bash:
cd /usr/ports/shells/bash
make install clean; rehash

Меянем шелл заданному юзеру:
chsh -s /usr/local/bin/bash testuser

Источник: http://www.cyberciti.biz/faq/howto-set-bash-as-your-default-shell/

2 comments:

  1. Не рекомендую менять дефолтный шелл на freebsd на bash, т.к. это чревато потерей доступа к серверу. Дело в том, что bash во FreeBSD зависит от сторонних библиотек, которые могуть быть обновлены апгрейдом стороннего софта. В таком случае потребуется принудительная пересборка баша, которую, как правило, забывают выполнить. Поэтому, дефолтным лучше оставить /bin/sh (или /bin/csh), а баш вызывать уже из дефолтного шелла. Если все же очень хочется bash, то можно поставить статическую версию оного из порта /usr/ports/shells/bash-static

    ReplyDelete
  2. Читаем ещё раз.
    "Меняем шелл заданному юзеру:"
    То есть системный sh никуда не девается! И работает как в аварийном режиме, так и просто из скриптов. Более того, у меня даже руту выставлен csh, и при этом аварийный режим работает нормально.
    так что ерунду пишете, товарищ.

    Павлу: баш конечно можно доставить, но есть штатный csh. У него есть особенности вроде перенаправлений с пайпами, которые не работают (ls > /dev/null разумеется работает), но в целом работает хорошо, по ctrl+d есть автодополнение (не по 2 табам, да. Надо просто привыкнуть), выбор ранних команд простыми стрелками.. и мегафича - набираем ls /ho[вверх] - и листаем только те команды, что начинались с ls /ho. Дико удобно! Вроде баш под это дотачивается, но штатно такого не попадалось.

    ReplyDelete

Note: only a member of this blog may post a comment.