Есептік-графикалық жұмыс №1



бет6/8
Дата17.11.2023
өлшемі485,76 Kb.
#191646
1   2   3   4   5   6   7   8
Байланысты:
Линукс РГР-1
Физика СИБк ӘН (3), No6
Оператор условия if
У нас получился классный сценарий резервного копирования, но что если в процессе выполнения произойдет какая-то ошибка? Тогда скрипт не сработает, а мы об этом даже не узнаем. Чтобы такого не случилось, напишем в сценарии сообщения об ошибках. Так мы поймем, что именно пошло не так. Для этого нам понадобится оператор условия if. 
1. user@bash: cat projectbackup.sh
2. #!/bin/bash
3. # Создает резервную копию проекта
4. # karpaff 22/1/2022
5. 
6. if [ $# != 1 ]
7. then
8. echo 'Должен быть указан 1 аргумент — папка, для которой нужно провести резервное копирование'
9. exit
10. fi
11. if [ ! -d ~/projects/$1 ]
12. then
13. echo 'Переданная папка не существует'
14. exit
15. fi
16. date=`date +%F`
17.
18. # Мы уже создали папку резервного копирования для сегодняшней даты?
19. if [ -d ~/projectbackups/$1_$date ]
20. then
21. echo 'Для этого проекта уже создана резервная копия, перезаписать?'
22. read answer
23. if [ $answer != 'y' ]
24. then
25. exit
26. fi
27. else
28. mkdir ~/projectbackups/$1_$date
29. fi
30. cp -R ~/projects/$1 ~/projectbackups/$1_$date
31. echo Резервное копирование папки $1 завершено
32. user@bash: 
Давайте разберемся, что здесь происходит: 

  • Строка 6. Открываем условную конструкцию с помощью оператора if. Форматирование здесь очень важно: обратите внимание, где находятся пробелы, они необходимы для правильной работы. В этом выражении мы спрашиваем, не равно ли != количество аргументов $# единице.

  • Строка 8. Если нет, скрипт был вызван неправильно. Выводим сообщение, объясняющее, как следует использовать наш сценарий.

  • Строка 9. Поскольку скрипт не был вызван должным образом, нужно выйти из скрипта, прежде чем продолжить работу.



  • Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет