СПРАВОЧНИК
Встроенные команды Bash
builtins, переменные, конструкции скриптов
Алфавитный справочник по встроенным командам (builtins) и ключевым конструкциям языка Bash: вывод и ввод, переменные и окружение, условия и тесты, управление потоком, функции, работа с директориями и заданиями, а также подстановки параметров. Каждая запись содержит сигнатуру, краткое описание и рабочий пример с комментарием-результатом.
Вывод и ввод 3
echo
echo [-n] [-e] аргументыПечатает аргументы в стандартный вывод, по умолчанию добавляя перевод строки.printf
printf формат [аргументы...]Форматированный вывод в стиле C: точный контроль над спецификаторами и переносами строк.read
read [-r] [-p подсказка] [-a массив] переменные...Читает строку из стандартного ввода и разбивает её по переменным.Директории 5
cd
cd [каталог]Меняет текущий рабочий каталог.dirs
dirs [-v] [-c]Показывает текущий стек каталогов pushd/popd.popd
popdВозвращается в верхний каталог стека, снимая его оттуда.pushd
pushd каталогПереходит в каталог и кладёт предыдущий в стек каталогов.pwd
pwd [-P]Печатает абсолютный путь текущего каталога.Задания и процессы 7
bg
bg [%задание]Возобновляет приостановленное задание в фоновом режиме.command
command [-v] имя [аргументы]Запускает внешнюю команду в обход функций и алиасов.fg
fg [%задание]Возвращает фоновое задание на передний план.jobs
jobs [-l]Перечисляет фоновые и приостановленные задания текущего шелла.kill
kill [-СИГНАЛ] PID | %заданиеПосылает сигнал процессу или заданию для завершения или управления.type
type [-t] имяСообщает, чем является имя: builtin, функцией, алиасом или файлом.wait
wait [PID | %задание]Ждёт завершения фоновых процессов и возвращает их код выхода.Переменные и окружение 7
declare
declare [-i] [-a] [-A] [-r] имя[=значение]Объявляет переменную с атрибутами: целое, массив, ассоциативный массив, только чтение.env
env [ИМЯ=значение...] [команда]Печатает окружение или запускает команду с изменённым окружением.export
export [-n] имя[=значение]Помечает переменную как экспортируемую в окружение дочерних процессов.local
local [имя[=значение]...]Объявляет переменную, видимую только внутри текущей функции.readonly
readonly [-p] имя[=значение]Делает переменную или функцию неизменяемой до конца сессии.set
set [-e] [-u] [-x] [-o опция] [--] [аргументы]Меняет опции шелла и переустанавливает позиционные параметры.unset
unset [-v] [-f] имяУдаляет переменную или функцию из текущего шелла.Подстановки 7
$((...))
$((выражение))Арифметическое раскрытие: вычисляет целочисленное выражение.$(...)
$(команда)Подстановка команды: вставляет её вывод в строку.${arr[@]}
${arr[@]} / ${arr[i]}Раскрытие массива: все элементы или элемент по индексу.${var}
${имя}Явная подстановка значения переменной с границами имени.${#var}
${#имя}Возвращает длину строки или число элементов массива.${var:-default}
${имя:-значение}Возвращает значение по умолчанию, если переменная пуста или не задана.${var//old/new}
${имя//шаблон/замена}Заменяет вхождения шаблона в значении переменной.Прочее 8
alias
alias [имя='команда']Создаёт короткое имя-сокращение для команды.basename
basename путь [суффикс]Извлекает имя файла из пути, отбрасывая каталоги.dirname
dirname путьВозвращает каталог пути, отбрасывая имя файла.expr
expr выражениеВнешняя утилита для арифметики и операций со строками в старых скриптах.getopts
getopts строка_опций перемРазбирает короткие опции командной строки в цикле.history
history [n] [-c]Показывает список ранее введённых команд.let
let выражениеВычисляет арифметическое выражение и присваивает результат переменной.shift
shift [n]Сдвигает позиционные параметры влево, отбрасывая первые.Управление потоком 7
break
break [n]Досрочно выходит из цикла; число задаёт глубину вложенности.case
case значение in шаблон) ...;; esacМножественное ветвление по совпадению значения с шаблонами.continue
continue [n]Пропускает остаток итерации и переходит к следующей.for
for x in список; do ...; doneЦикл по списку значений или по C-стилевому счётчику.if
if условие; then ...; [elif ...] [else ...]; fiВетвление по коду возврата команды-условия.return
return [код]Завершает функцию с указанным кодом возврата.while
while условие; do ...; doneПовторяет тело, пока команда-условие возвращает успех.Условия и тесты 5
[
[ выражение ]Синоним test в скобочной записи; требует закрывающую ].[[
[[ выражение ]]Расширенный тест Bash: безопаснее с пробелами, поддерживает && || и шаблоны.false
falseНичего не делает и всегда возвращает код ошибки 1.test
test выражениеПроверяет файлы, строки и числа, возвращая код 0 (истина) или 1 (ложь).true
trueНичего не делает и всегда возвращает успешный код 0.Функции и выполнение 6
eval
eval строкаСобирает аргументы в команду и выполняет результат как код Bash.exec
exec [команда] / exec n>файлЗаменяет текущий процесс командой или перенаправляет дескрипторы шелла.exit
exit [код]Завершает скрипт или сессию с заданным кодом возврата.function
function имя { ...; } или имя() { ...; }Объявляет функцию — переиспользуемый блок команд с собственными аргументами.source
source файл [аргументы] (синоним: . файл)Выполняет файл в текущем шелле, сохраняя его переменные и функции.trap
trap 'команды' СИГНАЛ...Назначает обработчик на сигналы и события вроде EXIT или ERR.