Menu
Coddy logo textTech

Создание папки резервного копирования

Часть раздела Основы путешествия по Terminal на Coddy. Урок 76 из 82.

challenge icon

Задание

Легко

Теперь давайте расширим скрипт резервного копирования, чтобы создать папку бэкапа, где будут храниться файлы.

Перепишите backup.sh с нуля, чтобы он содержал полный обновленный скрипт. Используйте > для первой строки, чтобы перезаписать файл, а затем >> для добавления каждой последующей строки:

echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.sh

Каждая строка заключена в одинарные кавычки, чтобы оболочка записывала $source_dir и $backup_dir в файл буквально, не заменяя их значениями.

Затем сделайте его исполняемым:

chmod +x backup.sh

Наконец, запустите скрипт с documents в качестве входного значения. Этот терминал не является интерактивным, поэтому передайте ответ через пайп в скрипт вместо ожидания запроса:

echo "documents" | ./backup.sh

Ваш вывод должен быть следующим:

Backing up: documents
Created backup folder: backup

Убедитесь, что папка была создана, выполнив ls для просмотра содержимого каталога. В выводе должна отображаться новая папка backup рядом с другими вашими файлами.

Подсказка: Флаг -p в mkdir -p предотвращает ошибки, если директория уже существует. Обязательно используйте кавычки вокруг ваших переменных (например, "$backup_dir") для безопасной работы с ними.

Попробуйте сами

Терминал
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.sh

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal