Что такое Bash Shebang и как его использовать?

Shebang – это последовательность из двух символов: знака числа (#) и восклицательного знака (!) — #! в начале каждого скрипта, который нам нужно написать. Shebang также известен как hashbang, pound-bang или hash-pling. Он всегда задается в первой строке скрипта и игнорируется интерпретатором.

2. Как использовать Shebang

Как мы уже упоминали, символ Shebang #! используется в первой строке скрипта. Если она используется во второй, третьей или другой строке, это будет просто комментарием. Директива Shebang имеет следующий формат:

#!interpreter [options]

Например, чтобы использовать интерпретатор оболочки bash, нам нужно определить следующую строку:

#!/bin/bash

В этом случае Shebang указывает системе использовать оболочку Bourne sh shell для запуска скрипта.

3. Использование Shebang в сценариях Bash

Чаще всего Shebang используется в сценариях bash. Включение соответствующего shebang в начало скрипта гарантирует, что необходимая оболочка интерпретирует скрипт правильно. Для вызова интерпретатора мы можем использовать два различных метода. О первом методе мы уже говорили:

#!/bin/bash

Второй метод:

#!/usr/bin/env bash

Эти строки предписывают ОС запустить скрипт с помощью интерпретатора Bash по адресу /bin/bash. Давайте создадим простой bash-скрипт с помощью интерпретатора bash:

touch helloword.sh

Откройте сценарий в вашем любимом редакторе и вставьте следующие строки кода:

#!/bin/bash
echo "Hello, world."

Сохраните файл, закройте его и сделайте исполняемым с помощью следующей команды:

chmod +x helloword.sh

После этого выполните скрипт:

sh helloword.sh

Вы должны получить следующий результат:

root@host:~# sh helloword.sh
Hello, world.

Теперь давайте создадим скрипт с помощью интерпретатора bash через env. Вы можете удалить и заново создать скрипт helloword.sh или заменить строки:

#!/usr/bin/env bash
echo "Hello, world."

После выполнения скрипта вы должны получить тот же результат:

root@host:~# sh helloword.sh
Hello, world.

Вызов интерпретатора bash вторым способом более гибок, поскольку интерпретатор Bash может быть установлен в разных местах.

4. Использование Shebang в сценариях Python

Мы можем указать интерпретатор Python в строке Shebang, чтобы команды сценария Bash выполнялись сценарием Python.

touch pythonScript.py

Откройте файл в своем любимом редакторе и вставьте следующие строки кода:

#!/usr/bin/env python3
print('Python is not just a snake. It is a programming language!')

Сохраните файл, закройте его и сделайте исполняемым:

chmod +x pythonScript.py

В /usr/bin/env находится интерпретатор Python, и ОС использует его для выполнения сценария. Теперь выполните сценарий:

./pythonScript.py

Вы должны получить следующий вывод:

root@host:~# ./pythonScript.py
Python is not just a snake. It is a programming language!

5. Использование Shebang для других переводчиков

Shebang позволяет нам указывать другие интерпретаторы, кроме bash и python. К таким интерпретаторам относятся Korn shell, Perl, shell как файл конфигурации и многие другие пользовательские интерпретаторы.

#!/bin/ksh
#!/usr/bin/env perl
#!/bin/false

Вот и все! Вы познакомились со сценариями Bash и самой важной строкой Shebang.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.rosehosting.com

Похожие статьи

Комментарии (0)