Прежде всего давайте разберём, что такое 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 обновление.sh
2. Либо открыть файловый менеджер в Домашней папке (где вы сохранили созданный скрипт), правый клик на файле, в контекстном меню - Свойства - Права и активировать пункт - Выполнение: Разрешить выполнение файла как программы:
Чтобы выполнить созданный скрипт, нужно открыть терминал ( о чём я писал в самом начале статьи, что терминал - необходимый атрибут/инструмент для выполнения скрипта), ввести sh, через пробел название скрипта - обновление.sh и нажать клавишу Ввод:
Либо в терминале вводим sh и перетаскиваем из файлового менеджера созданный файл с скриптом (также через пробел):
После того как путь к файлу отобразится после команды sh и пробела, достаточно нажать клавишу Enter (Ввод), чтобы выполнить обновление системы:
Теперь в любой момент вы можете сделать обновление системы созданным собственным скриптом.
Да, кто-то может возразить, что обновление системы не сложно сделать выполнением этих двух команд в терминале, зачем пыжиться и создавать какие-то скрипты? Всё верно. Но это пример создания простейшего скрипта, чтобы показать, что "не боги горшки обжигают"