Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

Шелл для кодера

Андрей Семенюченко

Спецвыпуск: Хакер, номер #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.

Назад на стр. 051-082-5  Содержание