BASH Программирование

Разъяснение Shebang Bash с примерами

Разъяснение Shebang Bash с примерами
Bash - интерпретатор командного языка. Многие операционные системы включают bash в качестве интерпретатора команд по умолчанию, особенно в большинстве систем GNU / Linux. Сценарии Bash - это метод автоматизации набора команд, которые в противном случае выполнялись бы в интерактивном режиме одну за другой.

В этом руководстве вы узнаете, что такое shebang bash и как его использовать.

Шебанг Баш:

В сценариях bash Shebang - это способ объявить, какой интерпретатор будет использовать операционная система для анализа остальной части файла. Шебанг характеризуется набором символов «#»!" (без кавычек).

Вот краткое описание директивы интерпретатора Shebang.

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

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

#!/ bin / bash

Директива интерпретатора Shebang имеет определенные свойства.

  • Это должна быть первая строка скрипта.
  • Он должен начинаться с шебанга (#!).
  • Пробелы могут быть, а могут и не быть после shebang (#!).
  • Интерпретатором будет полный путь к бинарному файлу.
  • Аргументы интерпретатора могут быть, а могут и не быть.

Вот краткий список некоторых из наиболее распространенных директив интерпретатора Shebang.

  • #!/ bin / bash: сценарий будет проанализирован с использованием трепать.
  • #!/ usr / bin / python: сценарий будет проанализирован с использованием питон двоичный.
  • #!/ usr / bin / env perl: сценарий будет проанализирован с использованием Perl исполняемый файл. Расположение Perl исполняемый файл будет предоставлен env команда.

Использование Shebang Bash:

В скриптах не может быть Shebang bash. Любой такой сценарий будет проанализирован с использованием интерпретатора по умолчанию. Например, bash - это интерпретатор по умолчанию для bash и sh для zsh. Хотя в большинстве систем UNIX / Linux по умолчанию используется bash, у пользователей есть возможность использовать другие. В таком сценарии без объявления интерпретатора сценарий может не выполнять предпочитаемую задачу.

Есть два метода использования директивы Shebang для объявления интерпретатора. Первый - объявить путь к исполняемому файлу.

#!/ bin / bash

Другой метод - использовать env утилита для поиска исполняемого файла.

#!/ usr / bin / env bash

Преимущество использования утилиты env в том, что она будет искать исполняемый файл в переменной среды $ PATH текущего пользователя. В этом примере env будет искать bash. Если в переменной $ PATH объявлено несколько исполняемых файлов bash, то будет использоваться первый.

Как уже упоминалось, Shebang bash также поддерживает исполняемые аргументы. Например, чтобы использовать bash в режиме отладки, директива интерпретатора Shebang будет выглядеть так:.

#!/ bin / bash -x

Когда дело доходит до использования env для Shebang bash добавление исполняемого аргумента требует использования опции «установить». Например, следующий будет использовать bash с включенным режимом отладки.

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

Пример сценария:

Мы обсудили основы Shebang bash. Пришло время применить это на практике. Давайте посмотрим на реализацию Shebang bash.

Запустите текстовый редактор по вашему выбору и введите следующий скрипт:

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

Сохраните файл. Чтобы запустить скрипт, он должен быть помечен как исполняемый. Выполните следующую команду:

$ chmod + xx