Menu
Coddy logo textTech

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

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

challenge icon

Задание

Легко

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

Перезапишите 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

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