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.
Комментарии (0)