Этот скрипт на bash позволяет скопировать все файлы из указанного директория и его поддиректориев в другой директорий.
- Сделайте скрипт исполняемым:
chmod +x TT1.sh
- Запустите скрипт с двумя аргументами:
./TT1.sh <исходный_директорий> <целевой_директорий>
<исходный_директорий>
- путь к директории, из которой нужно скопировать файлы.<целевой_директорий>
- путь к директории, куда нужно скопировать файлы.
Этот пример скопирует все файлы из директории /home/user/documents/project
и ее поддиректориев в директорию /home/user/backup
.
другой репозиторий
Система приложения для доставки еды представляет собой платформу, которая связывает пользователей, рестораны и курьеров. Пользователи могут просматривать меню, оформлять заказы и отслеживать их статус в реальном времени. Рестораны управляют своими меню и заказами, а курьеры получают задания на доставку и обновляют статус выполнения. Система включает функции аутентификации, платежей, уведомлений и геолокации, обеспечивая удобство и эффективность всех участников процесса.
NB! Функцию корзины я также называю тележкой. Это одна и та же функция.
- Актеры: Пользователь (клиент), Курьер, Ресторан.
- Варианты использования: Сделать заказ, Оплатить заказ, Поиск ресторана и т.д.
- Пример: Заказ еды пользователем.
- Участники: Пользователь, Сервер приложения, Ресторан, Банк.
- Взаимодействия: Пользователь выбирает ресторан и заказывает еду, сервер приложения обрабатывает заказ, отправляет его в ресторан, ресторан подтверждает заказ, курьер получает заказ и доставляет его пользователю.
- Начальное состояние:
- Заказ находится в состоянии "Новый".
- Проверка наличия:
- Переход из состояния "Новый" в "ПроверкаНаличия".
- Проверка результата:
- Если товары в наличии, переход в состояние "Подтвержден".
- Если товары отсутствуют, переход в состояние "Отменен".
- Подтвержден:
- Заказ подтвержден и переходит в состояние "ПереданВРесторан".
- Передан в ресторан:
- Заказ передан в ресторан и переходит в состояние "ПодтвержденРестораном".
- Подтвержден рестораном:
- Ресторан подтверждает заказ, и он переходит в состояние "НазначенКурьер".
- Назначен курьер:
- Курьер назначен для доставки заказа, и заказ переходит в состояние "Доставляется".
- Доставляется:
- Заказ находится в процессе доставки и переходит в состояние "Доставлен".
- Доставлен:
- Заказ доставлен и ожидает подтверждения пользователем, переход в состояние "ПодтвержденПользователем".
- Подтвержден пользователем:
- Заказ подтвержден пользователем и завершен, переход в состояние "Завершен".
- Отменен:
- Заказ отменен.
- Конечное состояние:
- Заказ завершен или отменен, переход в конечное состояние.
- Состояния: Новый, ПроверкаНаличия, Подтвержден, ПереданВРесторан, ПодтвержденРестораном, НазначенКурьер, Доставляется, Доставлен, ПодтвержденПользователем, Отменен, Завершен.
- Переходы: Линии со стрелками, показывающие переходы между состояниями.
- Условия переходов: Товары в наличии, товары отсутствуют.
- Начальное состояние:
- Начало взаимодействия пользователя с системой.
- Логин:
- Пользователь выполняет вход в систему.
- Регистрация:
- Пользователь регистрируется в системе, если у него нет учетной записи.
- Просмотр профиля:
- Пользователь просматривает свой профиль.
- Заполнение реквизитов:
- Пользователь заполняет реквизиты, такие как адрес и номер телефона.
- Поиск блюд:
- Пользователь выполняет поиск блюд.
- Если блюда не найдены, возвращается к поиску блюд.
- Просмотр блюд:
- Пользователь просматривает найденные блюда.
- Добавление в корзину:
- Пользователь выбирает блюда и добавляет их в корзину.
- Просмотр корзины:
- Пользователь просматривает содержимое корзины.
- Сделать заказ:
- Пользователь инициирует процесс оформления заказа.
- Оплатить заказ:
- Пользователь переходит к оплате заказа.
- Подтвердить оплату:
- Пользователь подтверждает оплату.
- Выход:
- Пользователь завершает сеанс и выходит из системы.
- Конечное состояние:
- Завершение взаимодействия пользователя с системой.
- Действия: Логин, Регистрация, Просмотр профиля, Заполнить реквизиты, Поиск блюд, Просмотр блюд, Добавить в корзину, Просмотр корзины, Сделать заказ, Оплатить заказ, Подтвердить оплату, Выйти.
- Решения: Алмазные символы, представляющие точки принятия решений, такие как наличие блюд и выбор блюд.
- Переходы: Линии со стрелками, показывающие переходы между действиями.
- Условия переходов: Блюда не нашлись, блюда есть, блюда выбраны.
- Пользователь:
- Атрибуты:
Name
,PhoneNumber
,EmailAddress
,Address
. - Методы: отсутствуют.
- Отношения:
- Один пользователь связан с одной тележкой.
- Один пользователь связан с одним модулем поисковой системы.
- Атрибуты:
- Тележка:
- Атрибуты:
CartPrice
,CartCount
. - Методы:
AddToCart()
,DeleteFromCart()
,EditCart()
. - Отношения:
- Одна тележка связана с одним модулем оплаты заказа.
- Атрибуты:
- Модуль оплаты заказа:
- Атрибуты:
Price
,BillId
,CardId
. - Методы:
AcceptBill()
,RejectBill()
,editBill()
. - Отношения:
- Один модуль оплаты заказа связан с одним детализированным заказом.
- Атрибуты:
- Детали заказа:
- Атрибуты:
OrderId
,OrderLocation
,OrderDate
,OrderDetails
. - Методы:
TrackOrder()
,CancelOrder()
,EditOrder()
. - Отношения:
- Один детализированный заказ связан с одним водителем.
- Атрибуты:
- Модуль поисковой системы:
- Атрибуты:
SearchId
,SearchHistory
,SearchResult
. - Методы:
AddSearch()
,EditSearch()
,NewSearch()
. - Отношения:
- Один модуль поисковой системы связан с одним или несколькими модулями ресторанов.
- Атрибуты:
- Модуль ресторанов:
- Атрибуты:
RestaurantId
,RestaurantLocation
,RestaurantType
,RestaurantRating
,RestaurantPhone
,RestaurantName
. - Методы:
selectRestaurant()
,selectRestaurantType()
,rateRestaurant()
. - Отношения:
- Один модуль ресторанов связан с одним или несколькими меню блюд.
- Атрибуты:
- Меню блюд:
- Атрибуты:
FoodType
,FoodDetails
,FoodRating
. - Методы:
SearchFoodType()
. - Отношения: отсутствуют.
- Атрибуты:
- Водитель:
- Атрибуты:
DriverId
,DriverName
,DriverPhone
. - Методы:
GetDriverDetails()
,CallDriver()
,MessageDriver()
. - Отношения: отсутствуют.
- Атрибуты:
- Классы: Пользователь, Тележка, Модуль оплаты заказа, Детали заказа, Модуль поисковой системы, Модуль ресторанов, Меню блюд, Водитель.
- Атрибуты: Переменные, характеризующие классы.
- Методы: Функции, определяющие поведение классов.
- Отношения: 1:1, 1:N, N:M (например, пользователь может сделать несколько заказов, ресторан может иметь несколько блюд).