Zsh — одна из современных командных оболочек UNIX, может использоваться как интерактивная оболочка, либо как мощный скриптовой интерпретатор. Zsh является расширенным bourne shell с большим количеством улучшений.

Мне она приглянулась отзывами в сети и гибкостью возможностей, после чего я решил её попробовать.
Сейчас бы хотел привести пример её установки (FreeBSD и Ububntu — хотя процесс установки не сильно и отличается)

FreeBSD
Устанавливаем из пакетов

pkg_add -r zsh

или из портов

cd /usr/ports/shells/zsh
make && make install && make clean

Ubuntu

apt-get install zsh

А теперь перейдем к настройке
меняем у нашего пользователя оболочку по умолчанию

chsh -s /usr/local/bin/zsh user

после этого нам конечно необходимо заново авторизоваться, что бы изменения вступили в силу

Для применения параметров для конкретного пользователя правим файл в домешней директории:
/usr/home/[YOUR_USER]/.zshrc
для все пользователей системы
/etc/zshrc

Пример моего конфигурационного файла

export EDITOR=/usr/bin/ee # текстовый редактор поумолчанию
export HISTFILE=~/.zhsrc_history # файл истории команд
export HISTSIZE=50000 # размерфайла
export SAVEHIST=50000 # кол-во записей

bindkey '\e[3~' delete-char # по нажатию клавиши del - удалять текущий символ
bindkey ';5D' backward-word # ctrl+left предыдущее слово
bindkey ';5C' forward-word #ctrl+right следующее слово

# Автоматическое завершение написания команды
autoload -U compinit promptinit
compinit
promptinit;
# Раскраска пользовательского интефейса. Каждый настраивает для себя
# Мне инетесно было вывести из под какого пользователя, папку и время работы
if [[ $EUID == 0 ]]
then
PROMPT=$'%{\e[1;31m%}%n %{\e[1;34m%}%~ #%{\e[0m%} ' # user dir %
else
PROMPT=$'%{\e[1;32m%}%n %{\e[1;34m%}%~ %#%{\e[0m%} ' # root dir #
fi
RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}' # right prompt with time
if [ -z "$STY" ]; then
    exec screen -dR
fi

# Алиасы на популярные команды :)
alias ls='ls -G'
alias grep='grep --colour=auto'

Спасибо за внимание.

Tagged with:  

2 Responses to Модный Shell — ZSH

  1. Alex:

    Вот только следует быть очень осторожным при запуске скриптов, написанных под bash, в zsh. Я когда-то нарвался на несколько другую обработку регулярных выражений, в результате чего провёл пару часов в полном недоумении, пытаясь понять почему же мой ранее прекрасно работавший скрипт всего-то на каких-то 5 килобайт вдруг перестал работать :/ Кроме того, помнится, там индексация массивов отличается — в zsh начало с 1, а не с 0, как в bash. Но, с другой стороны, в zsh есть встроенный tetris, чем врядли может похвастаться любой другой командный интерпретатор. Уже только один этот факт должен склонить чашу весов в сторону zsh :)

  2. admin:

    Интересное уточнение. Так же я часто сталкивался с высказываниями — когда не рекомендуют меня оригинальный shell у пользователя root, но на своем опыте не разу не сталкивался с проблемами такого рода. К разговору о запуске bash скрипта из под zsh — мы же имеем возможность задать, кто будет запускать данный скрипт первой строчкой #!/bin/bash или #!/bin/zsh и тогда проблем с регуларными выражениями и нумерацией массивов не должно быть.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>