Курс выживания в консоли
Andrushock
Xakep, номер #061, стр. 061-080-7
Зачем нам нужны оболочки?
Анализируя и выполняя вводимые с терминала команды, оболочка предоставляет пользователю колоссальные возможности для взаимодействия с операционной системой. Такие функции оболочки, как управление потоками ввода/вывода, раскрытие и дополнение имен файлов, обеспечение доступа к ранее выполненным командам, управление заданиями, выполнение циклов и условных переходов позволяют существенно повысить эффективность работы.
Зачем нужно использовать сценарии оболочек?
Сценарий представляет собой файл, содержащий последовательность команд для оболочки. Как правило, сценарии применяются для того, чтобы не повторять ввод одной и той же последовательности команд.
А как работать со стеком каталогов?
Командой pushd текущий каталог помещается на вершину стека, командой popd самый верхний каталог извлекается из стека, и в него производится переход, а с помощью команды dirs можно вывести иерархию каталогов.
Пример автодополнения для справочных страниц
man_glob () {
local a
read -cA a
if [[ $a[2] = [0-9]* ]] then
reply=( $^manpath/man$a[2]/$1*$2(N:t:r) )
else
reply=( $^manpath/man*/$1*$2(N:t:r) )
fi
}
compctl -K man_glob man
Полезные ресурсы
http://freebsd.by.ru/refs/zsh00.html
http://linuxshop.ru/unix4all/?cid=26&id=209
www.daemonnews.org/199910/zsh.html
http://zsh.sourceforge.net/Guide/zshguide.html
http://www-106.ibm.com/developerworks/library/l-z.html
Текущая стабильная версия zsh 4.0.7.
Текущая версия zsh для разработчиков 4.1.1.
В интерактивном режиме работы оболочка передает управление пользователю.
Оболочка переходит в неначальный (порожденный) интерактивный режим, если она запущена из другой оболочки (или из самой себя).
Неинтерактивный сеанс оболочки используется для запуска сценариев.
Существует два вида программирования оболочек: Bourne и csh.