Понимание условных выражений в Bash: одинарные скобки и двойные квадратные скобки

  1. Одинарные скобки: [ ]
    Одиночные скобки, также известные как тестовые скобки или команда проверки, используются для условных выражений в Bash. В основном они используются в операторах if и условных конструкциях.

Пример 1. Проверка существования файла.

if [ -f "filename.txt" ]; then
    echo "File exists."
else
    echo "File does not exist."
fi

Пример 2. Проверьте, пуста ли строка.

str=""
if [ -z "$str" ]; then
    echo "String is empty."
else
    echo "String is not empty."
fi
  1. Двойные квадратные скобки: [[ ]]
    Двойные квадратные скобки представляют собой расширенную версию одинарных скобок и предоставляют дополнительные функции, такие как сопоставление с образцом и регулярные выражения. Они также используются для условных выражений в Bash.

Пример 1. Проверка существования файла с помощью двойных квадратных скобок.

if [[ -f "filename.txt" ]]; then
    echo "File exists."
else
    echo "File does not exist."
fi

Пример 2. Проверьте, соответствует ли строка шаблону.

str="Hello, World!"
if [[ $str =~ [A-Z][a-z]+ ]]; then
    echo "String starts with an uppercase letter."
else
    echo "String does not start with an uppercase letter."
fi