2021-10-25 16:37:49
Справка по важным спец. символам bash; Отделение команд друг от друга
: Команда оболочки, ничего не делает
. Запуск оболочки без собственного командного подпроцессора (
.file соответствует исходному файлу)
# Ввод комментария
#!/bin/sh Идентификация оболочки, в которой будет выполняться программа
& Выполнение команды в фоновом режиме (
com &)
&& Выполнение одной команды в зависимости от результата другой (
com1 && com2)
&> Переадресация стандартного вывода и ошибок (
соответствует >&)
| Создание программных каналов (
com1 | com2)
|| Выполнение одной команды в зависимости от результата другой (
com1 || com2)
* Джокерный символ для имен файлов (
любое количество символов)
? Джокерный символ для имен файлов (
любой символ)
[abc] Джокерный символ для имен файлов (
любой символ из abc)
[ expression ] Сокращенный вариант записи test expression
(...) Выполнение команд в той же оболочке (
(сom1; сom2))
{...} Группирование команд
{ , , } Объединение нескольких последовательностей символов
(a{1,2,3} → a1 a2 a3) {a..b} Объединение нескольких последовательностей символов (
b{4..6} → b4 b5 b6)
~ Сокращенное обозначение домашнего каталога
> Переадресация вывода в файл (
com > file)
>> Переадресация вывода и добавление его в существующий файл
>& Переадресация стандартного вывода и ошибок (
соответствует &>)
2> Переадресация стандартного вывода ошибок
< Переадресация ввода из файла (
com < file)
<< end Переадресация ввода из активного файла до завершения
$ Обозначение переменных (
echo $var)
$! Номер PID последнего процесса, запущенного в фоновом режиме
$$ PID актуальной оболочки
$0 Имя выполняемого в данный момент сценарного файла оболочки
$1–$9 Первые девять параметров, переданных команде
$# Количество параметров, переданных программе оболочки
$* или $@ Совокупность всех переданных параметров
$? Возвращаемое значение последней команды (0=OK или номер ошибки)
$(...) Подстановка команд (
echo $(ls))
${...} Различные специальные функции для обработки последовательностей символов
$[...] Арифметические вычисления (
echo $[2+3])
"..." Предотвращение интерпретации большинства специальных символов
'...' Предотвращение интерпретации всех специальных символов
`...` Подстановка команд (
echo `ls`)
822 views13:37