Шелл для кодера Андрей Семенюченко Спецвыпуск: Хакер, номер #051, стр. 051-082-6 [ -f /usr/sbin/anacron ] || exit LOCKFILE=/var/lock/subsys/anacron RETVAL=0 start() { echo -n "Starting anacron: " daemon anacron -s RETVAL=$? [ $RETVAL -eq 0 ] && touch "$LOCKFILE" echo } stop() { echo -n "Shutting down anacron: " rm -f /var/run/anacron.pid if [ -n "`pidof -o $$ -o $PPID -o %PPID -x anacron`" ]; then killproc anacron else success "anacron shutdown" fi RETVAL=$? [ $RETVAL -eq 0 ] && rm -f "$LOCKFILE" echo } restart() { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; reload|restart) restart ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart) if [ -e "$LOCKFILE" ]; then restart fi ;; status) status anacron RETVAL=$? ;; *) echo "Usage: ${0##*/} {start|stop|reload|restart|condstop|condrestart|status}" RETVAL=1 esac exit $RETVAL Bash 3.0 - два года спустя Почти два года прошло после выхода предыдущей версии bash (2.0). Видимо, разработчики зря времени не теряли: в недавно вышедшей версии bash 3.0 появилось много чего нового. Исправлены многочисленные ошибки, улучшена поддержка многобайтовых символов, устранены некоторые несовместимости с POSIX, интегрирована возможность интернационализации сообщений и отладчик bash debugger. Вот только неполный список нововведений в bash 3.0: - расширение ANSI. Появилась возможность задания escape-последовательности в шестнадцатеричном виде \x{hexdigits}; - новая переменная COMP_WORDBREAKS, которая содержит набор символов для разделения слов; - изменение формата записи символов в значении переменной HISTCONTROL; - поддержка многобайтовых символов с появлением нового аргумента --enable-multibyte, который нужно указать для configure при установки bash; - новые переменные для реализации встроенного отладчика bash: BASH_ARGC, BASH_ARGV, BASH_SOURCE, BASH_LINENO, ASH_SUBSHELL, BASH_EXECUTION_STRING, BASH_COMMAND; - для операторов for, case, select, arithmetic commands теперь хранится специальная информация, используемая для отладки; - новая ловушка RETURN, используемая при возвращении функции; - новая опция bash для так называемой внешней отладки – debugger; - добавлены операторы для упрощения и оптимизации применения регулярных выражений; - интегрированы пакет Gettext и библиотека Libintl для перевода сообщений шелла на различные языки. Полный перечень исправлений и новых функций ищи здесь: http://cnswww.cns.cwru.edu/~chet/bash/NEWS Скачать tar.gz архив с исходниками bash любой версии, а также прочитать более подробную информацию ты можешь с сайта GNU Project www.gnu.org/software/bash/bash.html Нужно учитывать, что строка #!/bin/sh на самом деле означает интерпретатор, использующийся в системе по умолчанию, которым в большинстве дистрибутивов Linux является bash. При работе со строками в bash можно воспользоваться неинтерактивным строчным редактором sed и языком обработки шаблонов awk. Определить версию bash, установленную у тебя, можно с помощью параметра --version. В редакторе xemacs (emacs под X-Windows), помимо удобных средств редактирования, присутствуют также дополнительные средства отладки сценариев. Опция -posix изменяет поведение bash в соответствии со стандартом 1003.2. |