Практическая работа - первый сценарий bash
Основное задание
В данной работе мы напишем для вывода фразы “Hello world!” специальный сценарий.
- Создайте файл hello.sh.
- Откройте данный файл для редактирования в текстовом редакторе.
- Запишите первую строку файла: #!/bin/bash. Это так называемый “шебанг” - специальная инструкция, сообщающая операционной системе, что данный файл нужно воспринимать именно как Bash-сценарий и использовать для его выполнения командную оболочку Bash.
- Запишите вторую строку в файл: echo “Hello world!”. Данная команда выводит на экран фразу “Hello world!”.
- Выполните полученный сценарий: bash hello.sh
- Для того чтобы сценарий можно было выполнить как обычную программу, нужно сделать файл сценария исполняемым: chmod +x hello.sh
- Попробуйте запустить сценарий как обычную программу: ./hello.sh.
- Попробуйте запустить сценарий без указания пути: hello.sh. Данная команда не работает, так как она отсутствует в перечне путей в переменной $PATH. $PATH содержит список каталогов, разделенных “:”, в которых командная оболочка последовательно ищет исполняемый файл.
- Создайте в домашнем каталоге каталог bin и переместите туда файл hello.sh.
- Добавьте директорию ~/bin в переменную $PATH оператором конкатенации строк bash.
- Попробуйте запустить сценарий без указания пути: hello.sh. Так как сценарий теперь расположен по пути, который есть в $PATH, команда должна сработать и вывести на экран “Hello world!”.
Примечание. Данный сценарий будет доступен только текущему пользователю. Для того чтобы сценарий работал у всех пользователей системы, его нужно скопировать в каталог /usr/local/bin (для этого потребуются права root).
Задания для самостоятельного выполнения
- Разработать сценарий, который создаёт каталог /tmp/shared и устанавливает на него права доступа rwxrwxrwx.
- Получите и выведите на экран, используя переменные окружения, имена текущего каталога и домашнего каталога.
- Создайте новую переменную NEWVAR со значением 1982.
- Создайте скрипт, который создает пользователя с именем, переданным скрипту как первый параметр и паролем, который передан скрипту как второй параметр.
- (*) Создать скрипт, осуществляющий вывод меню, состоящего из следующих пунктов :
- текущий пользователь,
- объем используемой памяти,
- объем дискового пространства,
- запущенные процессы,
- процессы, запущенные текущим пользователем,
- системная дата и время,
- время запуска системы
- выход,
и вывод соответствующей информации в зависимости от выбранного пункта меню. Процесс повторять до тех пор, пока не будет выбран пункт меню «выход».
- (*) Создайте скрипт, который устанавливает в систему СУБД PostgerSQL, создает нового пользователя, заводит соответствующую роль в базе данных, создает базу данных в PostgerSQL, дает данному пользователю все права в этой базе, открывает к СУБД доступ по сети с удаленных машин.
Необходимые команды следует добавить в тот же файл сценария, который создавался для выполнения основного задания. Также необходимо добавить комментарии (пояснения, где какое задание выполнено).