; Отделение команд друг от друга
: Команда оболочки, ничего не делает
. Запуск оболочки без собственного командного подпроцессора (.file соответствует исходному файлу)
# Ввод комментария
#!/bin/sh Идентификация оболочки, в которой будет выполняться программа
& Выполнение команды в фоновом режиме (com &)
&& Выполнение одной команды в зависимости от результата другой (coml && com2)
&> Переадресация стандартного вывода и ошибок (соответствует >&)
| Создание программных каналов (coml | com2)
|| Выполнение одной команды в зависимости от результата другой (coml || com2)
* Джокерный символ для имен файлов (любое количество символов)
? Джокерный символ для имен файлов (любой символ)
[abc] Джокерный символ для имен файлов (любой символ из abc)
[ expression ] Сокращенный вариант записи test expression
(...) Выполнение команд в той же оболочке ((coml; com2))
{...} Группирование команд
{,,} Объединение нескольких последовательностей символов (а{1,2,3} -> al a2 аЗ)
{a..b} Объединение нескольких последовательностей символов (Ь{4..6} -> Ь4 Ь5 Ь6)
~ Сокращенное обозначение домашнего каталога
> Переадресация вывода в файл (com > file)
>> Переадресация вывода и добавление его в существующий файл
>& Переадресация стандартного вывода и ошибок (соответствует &>)
2> Переадресация стандартного вывода ошибок
< Переадресация ввода из файла (com < file)
<< end Переадресация ввода из активного файла до завершения
$ Обозначение переменных (echo $var)
$! Номер PID последнего процесса, запущенного в фоновом режиме
$$ PID актуальной оболочки
$0 Имя выполняемого в данный момент сценарного файла оболочки
$l-$9 Первые девять параметров, переданных команде
$# Количество параметров, переданных программе оболочки
$* или $@ Совокупность всех переданных параметров
$? Возвращаемое значение последней команды (0=ОК или номер ошибки)
$(...) Подстановка команд (echo $(ls))
${...} Различные специальные функции для обработки последовательностей символов
$[...] Арифметические вычисления (echo $[2+3])
"..." Предотвращение интерпретации большинства специальных символов
'...' Предотвращение интерпретации всех специальных символов
`...` Подстановка команд (echo `ls`)
? Любой символ
* Сколько угодно любых символов (а также ни одного)
[abe] Один из символов, указанных в скобках
[a-f] Один из символов, относящийся к указанному диапазону
[!abc] Все символы, указанные в скобках, должны отсутствовать
[^аЬс] Все символы, указанные в скобках, должны отсутствовать