Как запустить Bash-скрипт на Linux

В мире Linux выполнение Bash-скриптов – это мощный инструмент для автоматизации задач и управления системой. Умение запускать Bash-скрипты открывает дверь к бесчисленным возможностям: от создания простых командных файлов до развертывания сложных сценариев. 

В этой статье мы рассмотрим инструкцию по тому, как запустить Bash-скрипт на Linux, независимо от вашего опыта в этой области. 

Что такое Bash 

Bash (Bourne-Again Shell) – это командный интерпретатор для Unix ОС и Unix-подобных систем. Он представляет собой командный интерфейс пользователя, который позволяет вам взаимодействовать с операционной системой, выполнять команды, управлять файлами и процессами, а также создавать и выполнять скрипты для автоматизации задач.

Некоторые ключевые аспекты Bash включают в себя:

  • Командный интерфейс. Bash предоставляет командную строку, в которой пользователь может вводить команды и получать ответы от операционной системы. Это основное средство взаимодействия с Linux.
  • Скрипты. Bash – это также язык сценариев. С ним вы можете создавать скрипты (их называют Bash-скриптами), которые содержат последовательность команд и инструкций для выполнения определенных задач. Скрипты Bash часто используются для автоматизации рутинных задач и настройки системы.
  • Переменные и операции. Bash поддерживает переменные, условные операторы, циклы и другие конструкции, что делает его мощным инструментом для написания сложных скриптов. Вы можете объявлять переменные, сравнивать значения, выполнять арифметические операции и многое другое.
  • Расширенная оболочка. Bash включает в себя расширенные функции, такие как автодополнение, история команд, а также возможность создания и использования пользовательских функций и сценариев.
  • Поддержка скриптов системных задач. Bash используется для написания скриптов системных задач, таких как резервное копирование данных, планирование задач, настройка сети, мониторинг системы и других.
  • Пользовательский опыт. Bash предоставляет множество утилит и возможностей для улучшения пользовательского опыта.

Bash – это один из наиболее распространенных и удобных командных интерпретаторов в Linux, а также является стандартной командной оболочкой в большинстве дистрибутивов. 

Навык работы с Bash и написание Bash-скриптов являются важными для системных администраторов, разработчиков и любых пользователей Linux, которые хотят максимально эффективно использовать эту ОС.

Аренда выделенного сервера

Если вы сейчас находитесь в поиске сервера на Linux для своих проектов, то обратите внимание на услугу RU-CENTER – «Аренда выделенного сервера». Это самый надежный способ хранения данных на мощном выделенном сервере в московском дата-центре с круглосуточным обслуживанием и поддержкой. 

Мы заботимся о безопасности и доступности ваших данных, предоставляя высококачественное оборудование и инфраструктуру.

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

Как запустить Bash скрипт на Linux

Существует множество способов запустить сценарий Bash. Некоторые из них могут быть полезны в определенных условиях, но, как правило, то, как именно вы запустите скрипт, не особо важно. 

Скрипты Bash обычно выполняются в терминале или интерфейсе командной строки.

Запустить сценарий Bash можно следующими способами:

  • использовать bash или sh;
  • использовать путь к скрипту;
  • запустить непосредственно в среде bash.

Чтобы некоторые из этих методов работали, в сценарии обязательно нужно указать, что это сценарий оболочки или сценарий bash. 

Для этого включите приведенную ниже команду в начало файла:

#!/bin/bash

Эта команда запустит скрипт под интерпретатором bash. 

Способ 1. Выполнить скрипт Bash, используя sh

Это стандартный способ выполнения bash-скрипта. Как правило, чтобы он работал, требуется git bash, но в Linux он установлен по умолчанию. 

  1. В терминале пропишите код с помощью утилиты bash:

bash имяфайла.sh

В этом случае bash – это программа, которая содержит среды оболочки, необходимые для запуска сценария из оболочки bash. Таким образом, скрипт будет выполнен из интерпретатора bash.

  1. Вы также можете использовать sh для запуска bash-скрипта, поскольку он будет перенаправляться в оболочку по умолчанию.

Чтобы запустить Bash-скрипт с использованием sh, используйте следующий общий синтаксис:

sh <название скрипта> <расширение>

Например:

sh имяфайла.sh

Важно! sh известен как оболочка Bourne и был интерпретатором командной строки по умолчанию для старых систем. Хотя в современных Unix-подобных системах он уже не так популярен, они всё равно включают интерпретатор в /bin/sh.

Однако /bin/sh часто ссылается на другой интерпретатор. Чтобы проверить, какой интерпретатор использует sh, выполните следующую команду:

ls -l /bin/sh

В выводе будет показана символическая ссылка для интерпретатора sh. Обычно Debian и Ubuntu связывают sh с dash, тогда как другие системы ссылаются на bash.

Пример вывода, который вы можете получить: 

/bin/sh -> dash

Способ 2. Запустить Bash скрипт из пути к скрипту

Этот метод довольно прост для запуска Bash-скрипта. Вам лишь нужно указать путь перед именем файла с расширением. 

Общий синтаксис:

source <путь>/<имя файла> <расширение>

В качестве альтернативы можно прописать:

. <путь>/<имя файла>

Параметр «путь» необязателен. С ним команда выполняет поиск по каталогам в переменной среды PATH. Однако, если файл не находится в PATH, команда ищет файл в текущем каталоге.

На практике это будет выглядеть примерно следующим образом:

source имяфайла.sh

ИЛИ

. имяфайла.sh

Пример:

По выполнению этих команд скрипт сразу же запустится. Исходная команда по умолчанию выполнит сценарий оболочки как команду bash. 

Способ 3. Указать путь к скрипту и chmod

Это автономный метод запуска сценария bash. Нам нужно выполнить сценарий как исполняемый файл – мы можем запустить его где угодно, при условии, что где-то в среде есть оболочка bash. 

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

Для этого в терминале запустите следующий код, заменив имя файла именем файла сценария bash:

chmod +x имя_файла.sh

Пример: 

Эта команда позволит вам выполнить файл. Аргумент +x гарантирует, что файл будет исполняемым для всех в среде.

Важно! Если вы не являетесь суперпользователем root, используйте sudo в самом начале команды.

Получив нужные права, пропишите: 

./имяфайла.sh

Приведенная выше команда подразумевает, что вы находитесь в том же каталоге, что и сам Bash-скрипт.

Если вы находитесь не в том же пути, что и сценарий Bash, укажите относительный путь к файлу или сценарию Bash.

Способ 4. Выполнить скрипт Bash из любого места

Чтобы выполнить скрипт Bash из любого места, вам следует добавить путь к скрипту в переменную среды PATH или использовать абсолютный путь к скрипту при его выполнении. 

  1. Вы можете добавить каталог, содержащий ваш скрипт, в переменную PATH. Это позволит вам выполнять скрипт из любого места, не указывая полный путь к нему:

   export PATH=$PATH:/полный/путь/к/каталогу/со/скриптом

Где «/полный/путь/к/каталогу/со/скриптом» замените на фактический путь к каталогу, содержащему ваш скрипт. 

После этой команды вы сможете выполнять скрипт, указывая только его имя, например:

имяскрипта.sh

  1. Вместо добавления каталога в PATH вы также можете выполнить скрипт, указав его абсолютный путь. Например:

/полный/путь/к/скрипту/имяскрипта.sh

Это позволит вам выполнить скрипт из любого места, но вам нужно будет указывать полный путь к скрипту при каждом его выполнении.

  1. Кроме того, вы можете редактировать переменную среды PATH в файле .bashrc и применять изменения с помощью команды source, чтобы обновить текущую среду Bash.

Для этого откройте файл .bashrc, чтобы отредактировать его:

sudo nano ~/.bashrc

Найдите строку, начинающуюся с «export PATH=», и добавьте путь к каталогу с вашими скриптами перед переменной PATH. Например:

export PATH="/полный/путь/к/каталогу/со/скриптами:$PATH"

Замените «/полный/путь/к/каталогу/со/скриптами» на фактический путь к каталогу с вашими скриптами.

Чтобы применить изменения в текущей среде Bash, выполните следующую команду:

source ~/.bashrc

Теперь переменная PATH в вашей среде Bash будет включать путь к вашим скриптам, и вы сможете запускать их из любых каталогов, указывая только их имя.

Проверьте внесенные изменения с помощью команды:

echo $PATH

Вы увидите добавленный путь к вашим скриптам в выводе переменной PATH.

Способ 5. Запустить Bash-скрипт из графического интерфейса

Последний способ выполнения Bash-скриптов – это использование графического интерфейса GNOME. 

  1. Откройте каталог, в котором находится нужный файл.
  2. Щелкните по нему (но не открывайте). 
  3. Найдите в правом верхнем углу значок с тремя линиями и кликните по нему. В выпадающем меню выберите Preferences.  

  1. Теперь настройке обозреватель файлов так, чтобы он спрашивал, что делать с исполняемыми файлами. В разделе «Executable Text Files» поставьте флажок напротив Ask what to do

  1. Закройте это окно и дважды щелкните по файлу скрипта, который хотите выполнить.

Вам предложат несколько вариантов действий: 

  • «Run in Terminal» – запустить скрипт в терминале;
  • «Run» – запустить скрипт без него;
  • «Display» – просто просмотреть содержимое файла.

Нас интересует запуск скрипта в терминале, поэтому выберите эту опцию.

Готово! Ваш скрипт успешно выполнился.

Итак, благодаря этому руководству, мы научились запускать Bash-скрипты в Linux. Мы рассмотрели разнообразные способы выполнения скриптов, начиная от простых команд и заканчивая использованием графического интерфейса GNOME.

Всё ещё остались вопросы?