Прежде всего давайте разберём, что такое 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 (Ввод), чтобы выполнить обновление системы:
Теперь в любой момент вы можете сделать обновление системы созданным собственным скриптом.
Да, кто-то может возразить, что обновление системы не сложно сделать выполнением этих двух команд в терминале, зачем пыжиться и создавать какие-то скрипты? Всё верно. Но это пример создания простейшего скрипта, чтобы показать, что «не боги горшки обжигают» 😃.
Научившись писать и использовать простейшие скрипты, можно создать скрипт по настройке системы, с тем чтобы в случае переустановки системы могли воспользоваться созданным сценарием без необходимости искать каждый раз в сети сайты с подобными настройками.
Многие из вас, скорее всего, пользуются сайтами по настройке системы, типа тех что я публикую после выхода очередного релиза Ubuntu — Ubuntu после установки или подобными сайтами. Откройте один из таких сайтов: http://compizomania. blogspot. com/2016/04/ubuntu-1604.html. затем текстовый редактор для создания скрипта.
Для примера я сделал следующую заготовку.
В текстовом редакторе вводим первую обязательную строку:
#!/bin/bash
Далее закомментированные строки с описанием:
# Настройка Ubuntu после уставновки
# Обновление системы
Ниже следуют команды обновления системы:
sudo apt update
sudo apt upgrade — y
Строка описания: Добавление репозиториев:
# Добавление репозиториев
И добавляете необходимые репозитории для дальнейшей установки программного обеспечения:
sudo add-apt-repository «deb http://archive. canonical. com/ $(lsb_release — sc) partner» — y
sudo add-apt-repository ppa:atareao/telegram — y
sudo add-apt-repository ppa:atareao/atareao — y
sudo add-apt-repository ppa:nemh/systemback — y
sudo add-apt-repository ppa:gerardpuig/ppa — y
sudo add-apt-repository ppa:haecker-felix/gradio-daily — y
После того как необходимые репозитории добавлены (повторюсь, у вас могут быть свои репозитории, у меня пример), необходимо обновить систему:
Строка с описанием:
# Обновление системы после подключения репозиториев
И команда на выполнение:
sudo apt update
Теперь, когда репозитории добавлены и система обновлена, наступила очередь в установке программ:
# Установка программ
Для установки программ достаточно один раз ввести команду sudo apt install. а затем через пробел в данную строку добавлять сколько угодно программ, главное чтобы они были правильно составлены. Если какая-то программа состоит из нескольких слов, её команда должна быть монолитной, т. е. все слова в ней должны вводится через чёрточку, например: unity-tweak-tool.
sudo apt install my-weather-indicator telegram skype lm-sensors hddtemp psensor gdebi systemback unity-tweak-tool ubuntu-cleaner gradio — y
Установка дополнительных кодеков
# Мультимедиа и кодеки
sudo apt install ubuntu-restricted-extras — y
Отключение о сбоях в системе
# Отключить отчёты о сбоях в системе
sudo sed — i «s/enabled=1/enabled=0/g» ‘/etc/default/apport’
Ну вот, пожалуй, и всё. Данный созданный файл сценария должен выглядеть следующим образом:
Необходимо сохранить его (нажать кнопку Сохранить ) и дать Имя с расширением .sh. Я назвал его Настройка\ Ubuntu. sh (вы можете назвать по-другому, но обязвтельно с расширением. sh):
Делаем созданный скрипт исполняемым:
sudo chmod +x Настройка\ Ubuntu. sh
Для выполнения созданного скрипта введите в терминале sh и название созданного скрипта через пробел, либо sh. пробел и перетащить в терминал созданный файл, как объяснялось ранее в простейшем скрипте и нажмите клавишу Ввод. для его выполнения.
Примечание. Обратный слэш в команде Настройка\ Ubuntu. sh экранирует пробел в названии файла для терминала между двумя отдельными словами.
После того как скрипт будет выполнен, хранить его на будущее, для возможной переустановки системы и повторной настройки, лучше всего на отдельном разделе ж/диска в папке /home. Если таковой нет, то в облачном сервисе (Облачное хранилище данных) типа: DropBox, Облако Mail. Ru, Mega. co и т. п. чтобы в любой момент воспользоваться скриптом самому, либо помочь знакомым или родственникам в настройке системы.