Рубрики
bash

bash Специальные символы, используемые в bash

;	        Отделение команд друг от друга
:	        Команда оболочки, ничего не делает
.	        Запуск оболочки без собственного командного подпроцессора (.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]          Все символы, указанные в скобках, должны отсутствовать
[^аЬс]          Все символы, указанные в скобках, должны отсутствовать

ls -F

/       Каталог
*       Исполняемый файл
@       Символьная ссылка
-       Символьное устройство
+       Блочное устройство
=       Pipe, FIFO