Рубрики
bash find \ grep \ поиск

bash Регулярные выражения, переменные, спец символы и err, out, in std

Переменные присвоение:

 

env - показать значения переменных 
set | less - показать все активные переменные 

ABC=123 - присвоить переменно ABC значение 123

export ABC=123 - экспортировать переменную 

export PATH=$PATH:/home/nick_name  - объединить  строку и существующую переменную

echo $ABC - отобразить содержимое переменно ABC

unset ABC - отменить присвоение переменной

Сравнения переменных:

 
varl = var2 - Проверяет, равна ли первая переменная второй
varl -eq var2 - Контролирует, равна ли первая переменная второй
varl -ge var2 - Поверяет, больше ли первая переменная второй или они равны
varl -gt var2 - Контролирует, больше ли первая переменная второй
varl -le var2 - Поверяет, меньше ли первая переменная второй или они равны
varl -It var2 - Обследует, меньше ли первая переменная второй
varl != var2 - Проверяет неравенство первой и второй переменных varl -ne var2

Регулярные выражения и спец символы:

точка . - текущий каталог (пример использования cp /tmp/file.txt .) 
две точки .. каталог на уровень выше (пример использования cd ..)
? - любой один символ
* - любое кол-во символов
а* - a, ab, abc и aecjejich
^ - начало строки
$ - конец строки
^а - Любое «а», находящееся в начале строки
*а$ - Любое «а», находящееся в конце строки
а.с - Трехсимвольные строки, начинающиеся с «а» и заканчивающиеся на «с»

[] - диапазон 
[bcf]at - bat, cat или fat
[a-d]at - aat, bat, cat, dat, но не Aat, Bat и т. д.
[A-D]at - Aat, Bat, Cat и Dat, но не aat, bat и т. д.
1[3-5]7 - 137,147 и 157


{} -  последовательность
touch {6,7,8}.txt - последовательно создаст файлы 6.txt, 7.txt, 8.txt

\tHello	- Символ табуляции, предшествующий слову hello
\[tT][xX][Tt] - .txt, .TXT, .TxT или другие сочетания на основе изменения регистра

вывод err,out,in:

Пере направление потока ввода/вывода 

2>stderr - ошибки, информация

1>stdout - вывод (экран)

0>stdin - ввод (клавиатура)

echo $?

Пример с ping:

ip=1.1.1.1
ping -c1 -w1 $ip >/dev/null 2>&1 && echo OK