Как писать сценарии Bash для автоматизации Linux

Создание сценариев на Bash — полезный навык для пользователей Linux. Даже для новичка знание этого навыка может стать разницей между полноценным использованием вашей машины и выполнением всего вручную. Вот почему в этой статье мы научим вас писать сценарии bash для автоматизации Linux и получения полного контроля над рабочим столом. Мы рассмотрим основы написания сценариев с помощью оболочки Bash, основы того, что делает сценарий, как запускать их в вашей системе, что означают слова shebang и многое другое!

Типы скриптов

Есть много разных типов скриптов. В основном: SH и BASH. Эти расширения файлов важны, потому что расширение файла сообщает интерпретатору, как его запускать. Если файл является файлом SH, его можно запустить в любой оболочке, а не только в Bash. Это означает, что сценарий, написанный для Bash в Linux, может работать на Mac, BSD и других местах с аналогичными оболочками.

Сценарии, использующие расширение файла BASH, предназначены только для запуска внутри Bash. Достаточно сказать, что ваш скрипт с расширением файла bash не будет работать в оболочке Fish в Linux или любой другой доступной подобной оболочке.

  Как создавать псевдонимы и функции оболочки в Linux

Она взорвалась

Некоторые скрипты вообще не используют расширения файлов. Вместо этого они используют shebang, чтобы интерпретатор понимал, для чего предназначен сценарий и как его запускать. При написании сценария шебанг ВСЕГДА стоит на первом месте. Если shebang отсутствует, часто сценарий отказывается запускаться, особенно если расширение файла не используется.

О шебангах можно многое узнать, но новичкам не стоит о них беспокоиться. Они полезны только для продвинутых пользователей Bash, которые хотят писать невероятно сложные инструменты Bash. Как новичкам, пользователям следует подумать только о стандартном: #! / Bin / bash

Создание сценария Bash

Многие новички путают сценарии bash с реальным программированием. Основная цель написания сценариев в bash — связать множество команд вместе, эффективно выполняя длинные сложные вещи без необходимости записывать каждую мелочь в оболочке терминала. Если вы пытаетесь серьезно программировать на Bash, остановитесь и подумайте о реальном языке программирования, используемом в Linux, например Python.

Для начала откройте терминал и введите следующую команду:

nano myfirstbashscript

Это вызывает текстовый редактор Nano. Внутри nano добавьте shebang, чтобы помочь интерпретатору определить, что делать со сценарием.

#!/bin/bash

Отсюда мы можем все! Например: пользователь Ubuntu может создать простой скрипт обновления, добавив строки:

sudo apt update;sudo apt upgrade -y

В качестве альтернативы, другой пример: создайте скрипт непрерывного ping для работы в фоновом режиме, если вас беспокоит скорость вашей сети.

ping google.com

Добавьте в скрипт любые команды, которые вы хотите! Будьте изобретательны!

  Как сделать резервную копию игр Steam в Linux

После добавления того, что вы хотите в свой скрипт, сохраните его с помощью nano с помощью CTRL + O.

Создав сценарий, пора обновить разрешения. В терминале выполните:

sudo chmod +x myfirstbashscript

Запуск скриптов

Чтобы запустить сценарий оболочки, откройте терминал и выполните:

sudo sh script.sh

Чтобы запустить файлы bash, попробуйте:

sudo bash script.bash

В качестве альтернативы любой сценарий, независимо от расширения файла, можно легко запустить с ./filename в терминале.

Все три способа запуска скриптов работают очень хорошо. При этом использование ./filename — наихудший способ, поскольку скрипты часто не запускаются, если у сценария bash нет правильных разрешений. Установите разрешения с помощью:

sudo chmod +x script

Делаем ваш скрипт двоичным

Чтобы запустить сценарий, просто набрав имя файла в терминале, вам нужно сделать его двоичным. Для этого используйте команду chmod, чтобы сделать его исполняемым.

sudo chmod +x

Когда сценарий помечен как исполняемый файл, пора переместить сценарий, чтобы он был доступен по пути пользователя. Сделайте это с помощью команды MV. В качестве альтернативы используйте команду CP вместо команды перемещения, если вы хотите сохранить резервную копию своего сценария в исходном месте.

sudo mv /location/of/script /usr/bin/

или

sudo cp /location/of/script /usr/bin/

Затем запустите только что перемещенный сценарий внутри терминала из любого места, просто набрав его имя в терминале. Например: вы использовали YouTube-DL для написания сценария автоматического копирования YouTube и поместили его в / usr / bin / для облегчения доступа.

  8 лучших приложений Linux для совместного использования рабочего стола

Чтобы запустить указанный скрипт, вам нужно:

youtubescript

Это оно!

Заключение

Изучение языка bash — полезный инструмент. Без него системные администраторы и фанаты терминалов могли бы часами работать над терминалом. Вместо этого они могут писать сценарии bash для автоматизации Linux. Научившись использовать возможности Bash, вы напишете все эти сложные операции и быстро выполните их с помощью сценария.

Оболочка прекрасна, и чем больше вы узнаете о ней, тем больше вы узнаете об их собственных системах Linux, о том, как их автоматизировать и даже улучшить внутреннюю работу! С bash нет предела, все, что нужно — немного творчества!