Програмування BASH

Шебанг Баш пояснюється прикладами

Шебанг Баш пояснюється прикладами
Bash - це інтерпретатор командної мови. Багато операційних систем включають bash як інтерпретатор команд за замовчуванням, особливо більшість систем GNU / Linux. Сценарії Bash - це метод автоматизації набору команд, які в іншому випадку виконуються інтерактивно одна за одною.

У цьому посібнику перевірте, що таке шебанг баш і як ним користуватися.

Шебанг Баш:

У сценаріях bash Shebang - це спосіб оголосити, який інтерпретатор використовуватиме операційна система для синтаксичного аналізу решти файлу. Шебанг характеризується набором символів "#!”(Без лапок).

Ось короткий опис директиви тлумача Shebang.

#! [аргументи]

Наприклад, якщо сценарій повинен бути проаналізований за допомогою оболонки Bash, тоді директива інтерпретатора Shebang буде виглядати так.

#!/ bin / bash

Директива інтерпретатора Шебанга має певні властивості.

  • Це повинен бути перший рядок сценарію.
  • Це повинно починатися з шебанга (#!).
  • Після шебанга може бути або не бути пробілів (#!).
  • Інтерпретатор буде повним шляхом до двійкового файлу.
  • Аргументи інтерпретатора можуть бути, а можуть і не бути.

Ось короткий список деяких найпоширеніших вказівок щодо перекладача Шебанга.

  • #!/ bin / bash: сценарій буде проаналізований за допомогою баш.
  • #!/ usr / bin / python: Сценарій буде проаналізований за допомогою пітон двійковий.
  • #!/ usr / bin / env perl: сценарій буде проаналізований за допомогою perl виконуваний файл. Місцезнаходження perl виконуваний файл буде надано env команди.

Використання Shebang Bash:

Сценарії не можуть мати шебанг-баш. Будь-який такий сценарій буде проаналізований за допомогою інтерпретатора за замовчуванням. Наприклад, bash є інтерпретатором за замовчуванням для bash, а sh для zsh. Хоча більшість систем UNIX / Linux за замовчуванням мають bash, користувачі мають можливості використовувати інші. У такому випадку без оголошення перекладача сценарій може не виконати бажане завдання.

Існує два методи використання директиви Шебанга для оголошення інтерпретатора. Перший - оголосити шлях до файлу до виконуваного файлу.

#!/ bin / bash

Інший метод полягає у використанні env утиліта для пошуку виконуваного файлу.

#!/ usr / bin / env bash

Перевага використання утиліти env полягає в тому, що вона буде шукати виконуваний файл за змінною середовища $ PATH поточного користувача. У цьому прикладі env шукатиме bash. Якщо у змінній $ PATH оголошено більше одного виконуваного файлу bash, буде використаний перший.

Як уже згадувалося, Shebang bash також підтримує виконувані аргументи. Наприклад, щоб використовувати bash у режимі налагодження, директива інтерпретатора Shebang буде виглядати так.

#!/ bin / bash -x

Коли справа доходить до використання env для Shebang bash для додавання виконуваного аргументу потрібно використовувати параметр “set”. Наприклад, наступний буде використовувати bash з увімкненим режимом налагодження.

#!/ usr / bin / env bash
$ set -x

Приклад сценарію:

Ми обговорили основи Шебанг-баша. Настав час застосувати це на практиці. Давайте подивимось на реалізацію Shebang bash.

Запустіть текстовий редактор на ваш вибір і введіть такий сценарій:

$ #!/ bin / sh
$ echo "hello_world_bash"

Збережіть файл. Для запуску сценарію його потрібно позначити як виконуваний файл. Виконайте таку команду:

$ chmod + xx