Relax video | with gorgeous Arina and Nissan Skyline ECR33.
Оглавление:
- Директива переводчика Шебанга
- Использование Шебанга в скриптах Bash
- Пример скрипта
- Переопределение Шебанга
- Вывод
Эта последовательность символов (
#!
) Называется shebang и используется, чтобы сообщить операционной системе, какой интерпретатор использовать для анализа остальной части файла.
Директива переводчика Шебанга
Директива интерпретатора Шебанга имеет следующий вид:
#!interpreter
- Директива должна быть первой строкой в скрипте. Директива должна начинаться с shebang
#!Пробел после символов shebang является необязательным. Интерпретатор - это полный путь к двоичному файлу (например:/bin/sh,/bin/bash). Аргументы интерпретатора являются необязательными.
Примеры:
-
#!/bin/bash- используетbashдля анализа файла.#!/usr/bin/env perl- использует командуenvдля поиска пути к исполняемому файлуperl.#!/usr/bin/pythonВыполняет файл, используя двоичный файлpython.
Использование Шебанга в скриптах Bash
Если shebang не указан и пользователь, выполняющий скрипт Bash, использует другую оболочку, сценарий будет проанализирован любым интерпретатором по умолчанию, который используется этой оболочкой. Например, интерпретатором по умолчанию для
bash
является
bash
а для
zsh
-
sh
. Чтобы ваш скрипт всегда интерпретировался с помощью Bash, вам необходимо указать путь к исполняемому файлу с помощью shebang.
Есть два способа использовать директиву Шебанга и установить интерпретатор.
-
Используя абсолютный путь к двоичному файлу bash:
#!/bin/bashИспользуя утилиту
env:#!/usr/bin/env bash
Преимущество использования второго подхода состоит в том, что он будет искать исполняемый файл
bash
в
$PATH
окружения
$PATH
. Если есть несколько путей к
bash
, первый будет использоваться сценарием.
При использовании первой опции для добавления опции в поставку оболочки Bash передайте ее интерпретатору. Например, чтобы запустить скрипт в режиме отладки, вы должны использовать
#!/bin/bash -x
. Если вы используете метод
env
вам нужно использовать
set
для объявления опции. Чтобы включить режим отладки, вы должны добавить
set -x
после строки shebang.
Пример скрипта
Давайте создадим простой скрипт с использованием shebang, который выведет «Hello, World». Откройте ваш текстовый редактор и вставьте следующую строку:
nano hello_world
Привет, мир
#!/bin/bash echo "Hello, World"
Чтобы иметь возможность запускать скрипт без указания интерпретатора из командной строки, вам нужно сделать файл исполняемым:
chmod +x hello_world
Теперь, если вы можете запустить скрипт, набрав
./
а затем имя скрипта:
./hello_world
Переопределение Шебанга
Если по какой-то причине вы хотите переопределить набор интерпретаторов в строке Shebang, вам нужно запустить скрипт, явно указав требуемую оболочку.
Например, чтобы запустить сценарий, в котором
#!/bin/sh
указан в строке Shebang, используя оболочку
bash
, введите:
bash hello_world
Обратите внимание, что не стоит переопределять интерпретатор оболочки, так как это может привести к неожиданному поведению скрипта.
Вывод
К настоящему времени вы должны хорошо понимать, что такое Шебанг и как использовать его в ваших скриптах Bash.
терминал bashБаш за петлю
В скриптах Bash есть 3 базовых конструкции цикла: для цикла, цикла и и до цикла. В этом уроке мы рассмотрим основы циклов for в Bash, а также операторы break и continue для изменения потока цикла.
Функции Баш
Функция Bash - это, по сути, набор команд, которые можно вызывать множество раз. Цель функции - помочь вам сделать ваши bash-скрипты более читабельными и избежать повторного написания одного и того же кода.
Баш Эредок
При написании сценариев оболочки вы можете оказаться в ситуации, когда вам нужно передать многострочный блок текста или кода интерактивной команде. В Bash и других оболочках, таких как Zsh, документ Here (Heredoc) представляет собой тип перенаправления, который позволяет передавать несколько строк ввода в команду.







