Практика. Написание скриптовых файлов
Простой скрипт на манипулирование файлами
Скрипт должен выполнять действия из практики по манипулированию файлами:
- Создайте каталог 
playgroundв домашнем каталоге пользователя. - Внутри данного каталога создайте каталоги 
dir1иdir2. - Скопируйте файл 
/etc/passwdв созданный каталогplayground. - Повторите последнюю операцию, использовав параметр 
-v. - Повторите последнюю операцию, использовав параметр 
-i. - Переименуйте файл 
passwdвfun. - Переместите файл 
funв каталогdir1. - Переместите файл 
funв каталогdir2. - Переместите файл 
funв каталогdir1. - Переместите каталог 
dir1в каталогdir2. - Верните каталог 
dir1и файлfunв каталогplayground. - Удалите каталог 
playground. 
Создание резервных копий
Создайте скрипт, который будет создавать резервные копии нужной информации.
Создайте следующую структуру каталогов. info, backup и data являются каталогами.
info
├── backup/
├── data/
└── make-backup.sh
Предполагается, что запуск скрипта make-backup.sh будет происходить из каталога info. При каждом запуске должно происходить следующее:
- В каталоге 
bakcupдолжен создаваться каталог с текущей датой и временем. Например:2020-10-25-15-35-16. - В созданный каталог должны помещаться все данные из каталога 
data. 
Для получения информации о текущей дате используйте приложение date. Вам необходимо передать нужный формат данных.
Запуск из любой директории
Доработайте скрипт таким образом, чтобы его можно было запускать из любого каталога. В этом режиме мы считаем, что каталоги data и backup находятся в том же каталоге, в котором находится скрипт.
Т.е. работа скрипта должна быть корректной, если он запускается из каталога info: ./make-backup.sh, так и из родительского каталога: ./info/make-backup.sh.
Для получения пути к каталогу, в котором находится скриптовый файл используйте приложение dirname. Ему потребуется путь к файлу скрипта, который указан в позиционном аргументе 0: $0.
Возможность указания каталога для резервных копий
Доработайте скрипт таким образом, чтобы пользователь мог указать путь к каталогу, в котором следует размещать резервные копии. Если каталог пользователем не был указан, тогда должен использоваться каталог backup, который находится рядом со скриптом.
В качестве финальной проверки качества работы скрипта
- Создайте каталог 
~/important data backups, с пробелами в названии. - Запустите скрипт 
./make-backup.sh ~/important\ data\ backups. 
Проверка качества скрипта
Установите приложение shellcheck, проверьте написанный скрипт и исправьте все ошибки в нём.