Прежде всего давайте разберём, что такое
script и для чего он нужен.
Script в переводе с английского -
сценарий. Все мы смотрим фильмы, многие из нас - спектакли. Чтобы создать фильм/спектакль, сценаристы пишут к ним сценарии, на основании которых артисты, сценка за сценкой исполняют на сцене свои роли, из чего и складывается фильм/спектакль. Работа по созданию сценария довольно кропотливая, где нужно учесть всё до мелочей, чтобы в конечном итоге артисты могли выполнить задуманное сценаристом, а зритель увидел целостное произведение.
Подобным же образом пишутся скрипты для выполнения списка задач, которые пользователь составляет вместе (код), чтобы сделать их выполнение проще и быстрее в операционной системе. Для написания простых скриптов совсем не обязательно иметь образование программиста.
Для начала давайте создадим самый, что ни на есть, простейший
скрипт-Shell для обновления системы.
Все действия я буду проводить с системе
Ubuntu, но они применимы и к другим системам
Linux, производных от
Ubuntu. Для этого нам понадобятся:
Текстовый редактор, чтобы наполнить его нужными задачами для создания скрипта (кода) и
Терминал - для выполнения созданного скрипта. Эти инструменты установлены в любом дистрибутие
Linux по умолчанию.
Итак, открываем текстовый редактор
Gedit и вводим в него первые обязательные символы под названием
shebang.
shebang в программировании, это последовательность из двух символов: решётки и восклицательного знака (
#!) в начале файла скрипта. И добавляем к данным символам без пробелов
/bin/sh - интерпретатор, где будет выполняться скрипт.
/bin/sh - это обычно
Bourne shell или совместимый интерпретатор командной строки, который передаёт
"path/to/script" как первый параметр.
Первая обязательная строка скрипта будет выглядеть следующим образом:
#!/bin/sh Далее, следующей строкой следует описание того, что должен выполнить наш первый скрипт/сценарий:
# Мой первый Script обновления UbuntuЗнак решётки (#) в самом начале строки даёт понять интерпретатору/терминалу, что эту строку читать и выполнять не нужно. Строка нужна в коде данного скрипта для того чтобы сам создатель скрипта знал, что он собирается выполнить на данном отрезке/сценке в коде, чтобы не запутаться в дальнейшем, когда таких строк будет много. Такие строки с знаком решётки называются -
закомментированные.
Далее в скрипте следуют выполняемые строки с командами, в данном случае для обновления системы
Ubuntu:
sudo apt update
sudo apt upgrade -y-y в конце второй команды даёт понять интерпретатору/терминалу, что это действие/команду нужно выполнить автоматически, без дополнительного подтверждения пользователем, нажатия клавиши
Ввод.
y - сокращённо от английского
yes, т.е.
да.
Вот и всё. Ваш первый скрипт создан. У вас должно получиться как на снимке:
Остаётся сохранить созданный файл/скрипт и дать ему
Имя с обязательным расширением в конце -
.sh. Расширение
.sh присваивается исполняемому файлу.
Я дал ему
Имя -
обновление.sh, сохранив в
Домашней папке пользователя:
Для того чтобы созданный файл/скрипт был исполняемый, ему нужно дать на это разрешение. Сделать это можно двумя способами.
1. Выполнить следующую команду в терминале:
sudo chmod +x обновление.sh2. Либо открыть файловый менеджер в
Домашней папке (где вы сохранили созданный скрипт), правый клик на файле, в контекстном меню -
Свойства - Права и активировать пункт -
Выполнение:
Разрешить выполнение файла как программы:
Чтобы выполнить созданный скрипт, нужно открыть терминал ( о чём я писал в самом начале статьи, что терминал - необходимый атрибут/инструмент для выполнения скрипта), ввести
sh, через пробел название скрипта -
обновление.sh и нажать клавишу
Ввод:
Либо в терминале вводим
sh и перетаскиваем из файлового менеджера созданный файл с скриптом (также через пробел):
После того как путь к файлу отобразится после команды
sh и пробела, достаточно нажать клавишу
Enter (Ввод), чтобы выполнить обновление системы:
Теперь в любой момент вы можете сделать обновление системы созданным собственным скриптом.
Да, кто-то может возразить, что обновление системы не сложно сделать выполнением этих двух команд в терминале, зачем пыжиться и создавать какие-то скрипты? Всё верно. Но это пример создания простейшего скрипта, чтобы показать, что "не боги горшки обжигают"