Краткий справочник по синтаксису Bash

Данный справочник будет содержать наборы приемов из bash скриптов, которые решают те или иные задачи. Все решения были реализованы на основе мануалов или же взяты из открытых источников.
По ходу дела буду обновлять данный справочник новыми приемами и решениями.

Краткий справочник по синтаксису Bash

1. Конструкция if-then-else-fi
1.1. Вид конструкции
Общий:

if <условие>
then
  <код, выполняющийся при выполнении условия>
else
  <код, выполняющийся при невыполнении условия>
fi

Вид конструкции else if:

if <условие1>
then
  <код, выполняющийся при выполнении условия1>
elif <условие2>
  then
    <код, выполняющийся при выполнении условия2>
  else
    <код, выполняющийся при невыполнении условия2>
  fi
else
  <код, выполняющийся при невыполнении условия1 и условия2>
fi

1.2. Работа со строками
Если строка не пустая:

if [ -n "$string" ]

или

if [ "$string" ]

Если строка пустая:

if [ -z $string ]

Если строки равны:

if [ "$string1" = "$string2" ]

Если строки не равны:

if [ "$string1" != "$string2" ]

1.3. Работа с числами
Если числа равны:

if [ "$num1" -eq "$num2" ]

Если $num1 больше $num2

if [ "$num1" -gt "$num2" ]

Если число $num1 больше или равно $num2

if [ "$num1" -ge "$num2" ]

Если число $num1 меньше $num2

if [ "$num1" -lt "$num2" ]

Если число $num1 меньше или равно $num2

if [ "$num1" -le "$num2" ]

Если число $num1 не равно $num2

if [ "$num1" -ne "$num2" ]

1.4. Проверка на существование
Проверка на существование файла:

if [ -f /path/to/file ]

Проверка на существование директории:

if [ -d /path/directory/ ]

2. Использование цвета в выводе bash

3. Работа со строками
3.1. Измерение длины строки
С помощью expr:

expr length "Find out the length of this string from Linux Bash shell."

С помощью wc

echo -n "Get the length of this line in Bash" | wc -c

С помощью awk

echo "--- What about this line? ---" | awk '{print length}'

Источники:
i-notes.org — bash проверки существования файла, директории
shellhacks.com — Как : Узнать Длину Строки или Переменной в Bash

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *