Создание сценариев на Bash — полезный навык для пользователей Linux. Даже для новичка знание этого навыка может стать разницей между полноценным использованием вашей машины и выполнением всего вручную. Вот почему в этой статье мы научим вас писать сценарии bash для автоматизации Linux и получения полного контроля над рабочим столом. Мы рассмотрим основы написания сценариев с помощью оболочки Bash, основы того, что делает сценарий, как запускать их в вашей системе, что означают слова shebang и многое другое!
Оглавление
Типы скриптов
Есть много разных типов скриптов. В основном: SH и BASH. Эти расширения файлов важны, потому что расширение файла сообщает интерпретатору, как его запускать. Если файл является файлом SH, его можно запустить в любой оболочке, а не только в Bash. Это означает, что сценарий, написанный для Bash в Linux, может работать на Mac, BSD и других местах с аналогичными оболочками.
Сценарии, использующие расширение файла BASH, предназначены только для запуска внутри Bash. Достаточно сказать, что ваш скрипт с расширением файла bash не будет работать в оболочке Fish в 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
Добавьте в скрипт любые команды, которые вы хотите! Будьте изобретательны!
После добавления того, что вы хотите в свой скрипт, сохраните его с помощью 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 / для облегчения доступа.
Чтобы запустить указанный скрипт, вам нужно:
youtubescript
Это оно!
Заключение
Изучение языка bash — полезный инструмент. Без него системные администраторы и фанаты терминалов могли бы часами работать над терминалом. Вместо этого они могут писать сценарии bash для автоматизации Linux. Научившись использовать возможности Bash, вы напишете все эти сложные операции и быстро выполните их с помощью сценария.
Оболочка прекрасна, и чем больше вы узнаете о ней, тем больше вы узнаете об их собственных системах Linux, о том, как их автоматизировать и даже улучшить внутреннюю работу! С bash нет предела, все, что нужно — немного творчества!