Основы синтаксиса Bash #!/bin/bash
Добавлено: 26 мар 2025, 10:04
Циклы
Функции
Работа с файлами и каталогами
Ошибки и отладка
Добавьте set -e в начало скрипта, чтобы он прекращал выполнение при обнаружении ошибки.
set -e # Скрипт завершится, если любая команда вернет ненулевой код
Для отладки используйте set -x для вывода команд до их выполнения.
Чтение пользовательского ввода
Массивы
Проверка наличия команд
Проверьте, установлена ли определенная команда, прежде чем ее использовать:
проверка наличия подстроки:
запуск команд параллельно с использованием &
Этот скрипт демонстрирует использование переменных, условий и циклов в Bash
Код: Выделить всё
#!/bin/bash
for i in {1..5}; do
echo "Это итерация номер $i"
done
Код: Выделить всё
#!/bin/bash
function greet {
echo "Привет, $1!"
}
greet "Иван"
Код: Выделить всё
#!/bin/bash
if [ -f "myfile.txt" ]; then
echo "Файл существует"
fi
if [ -d "mydir" ]; then
echo "Каталог существует"
fi
Добавьте set -e в начало скрипта, чтобы он прекращал выполнение при обнаружении ошибки.
set -e # Скрипт завершится, если любая команда вернет ненулевой код
Для отладки используйте set -x для вывода команд до их выполнения.
Код: Выделить всё
#!/bin/bash
set -e
set -x
# Ваш код здесь
Код: Выделить всё
#!/bin/bash
echo "Введите ваше имя: "
read username
echo "Привет, $username!"
Код: Выделить всё
#!/bin/bash
my_array=("Значение1" "Значение2" "Значение3")
echo "Первый элемент массива: ${my_array[0]}"
Проверьте, установлена ли определенная команда, прежде чем ее использовать:
Код: Выделить всё
#!/bin/bash
if command -v some_command > /dev/null; then
echo "some_command установлена"
else
echo "some_command не установлена"
fi
Код: Выделить всё
#!/bin/bash
my_string="Пример строки"
if [[ $my_string == *"строка"* ]]; then
echo "Строка содержит подстроку 'строка'"
else
echo "Строка не содержит подстроку 'строка'"
fi
Код: Выделить всё
#!/bin/bash
command1 &
command2 &
wait
echo "Все команды выполнены"
Код: Выделить всё
#!/bin/bash
# Путь к каталогу для резервных копий
backup_dir="/путь/к/резервным/копиям"
# Перечень файлов для резервного копирования
files_to_backup=("файл1.txt" "файл2.txt" "файл3.txt")
# Создаем каталог для резервных копий, если его нет
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir"
fi
# Цикл по файлам для резервного копирования
for file in "${files_to_backup[@]}"; do
# Полный путь к файлу
full_path="/путь/к/вашим/файлам/$file"
# Проверяем, существует ли файл
if [ -f "$full_path" ]; then
# Создаем резервную копию файла в указанном каталоге
cp "$full_path" "$backup_dir"
echo "Резервная копия файла $file создана в $backup_dir"
else
echo "Внимание: Файл $file не существует!"
fi
done
echo "Процесс резервного копирования завершен."