Bash

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Bash (Bourne-Again SHell) является оболочкой (англ. shell) или интерпретатором командного языка, предназначенным для ОС GNU. Bash совместим с sh и включает ряд полезных функций шеллов Korn (ksh) и C (csh). Он предназначен для соответствия стандарту IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools и предлагает функциональные улучшения относительно sh в программировании и интерактивном применении. Вдобавок большинство sh-скриптов могут быть запущены при помощи Bash без изменения.

Список улучшений относительно sh в Bash включает:

  • редактирование командной строки
  • неограниченную в размере историю команд
  • управление задачами (фон/интерактив)
  • функции и алиасы
  • индексированные массивы неограниченного размера
  • целочисленную арифметику в системах счисления с основанием от 2 до 64

Bash является свободным программным обеспечением, распространяемым на условиях GNU General Public License, а также интерактивным шеллом по умолчанию в Mac OS X и большинстве[1] распространённых дистрибутивов Linux.

Примеры[править | править код]

Вывести список файлов, отфильтровать на соответствие шаблону, отсортировать и оставить первых десять:

ls | grep -i 'txt$' | sort | head

Определить функцию для создания архива и применить её ко всем путям, данным в качестве аргумента скрипта, для создания архивного файла с текущей датой в имени.

#!/bin/sh
# a simple script to perform backups

# args: archive-name path [path...]
backup()
{
        local archive
        archive="$prefix/$1.tar.gz"
        shift
        nice $ionice tar zcf "$archive" "$@"
}

prefix=/var/backup
tstamp="`date +%Y%m%d`"

if type -t ionice >&/dev/null; then
        ionice="ionice -c3"
fi

mkdir -p "$prefix"
backup "$tstamp" "$@"

Ссылки[править | править код]

Примечания[править | править код]