Почти каждый сценарий оболочки Linux начинается со строки, начинающейся с «#!». Это известно как «шебанг». Вот все, что вам нужно знать об этом.
Возможно, вы видели странную строку, начинающуюся с «#!" в начале скриптов Linux и задавался вопросом, что это такое. Это называется «линия Шебанга» и позволяет Linux указать, какой интерпретатор использовать. Вот как это работает.
Что такое линия Шебанга?
В системе Linux имеется множество сценариев, которые автоматизируют различные служебные задачи. Пользователи и администраторы также пишут собственные сценарии.
Несмотря на появление популярных языков сценариев, таких как Ruby или Python, дистрибутивы Linux также обычно оснащены несколькими оболочками. Bash является стандартом де-факто в основных дистрибутивах, но существует множество доступных оболочек.
Есть Zsh, а также оболочки C, Korn Shell и tcsh. И Рыба. А потом старый добрый Bourne shell. За исключением того, что на самом деле это символическая ссылка Bash на sh.
Так что существуют не только разные языки сценариев, но и разные оболочки. Синтаксис и команды этих оболочек отличаются друг от друга. Как указать Linux, какой интерпретатор использовать?
Это то, что делает линия shebang. Это последовательность символов, которая запускает интерпретируемые скрипты. Он получил свое название от двух сленговых терминов, обозначающих «#" и "!" персонажи. Первый называется «хеш». Возможно, вы знаете это по термину «хэштег».
"!" также известен как челка. Комбинация этих двух — «шебанг», игра фразы «весь шебанг».
Как Linux определяет, какой интерпретатор использовать
Вы можете заметить, что "#"символ также является комментарием на многих языках. Как система избегает конфликтов? Это легко. Большинство языковых интерпретаторов просто игнорируют "#" символы, если они находятся в первой строке.
Вместо этого ядро просмотрит строку shebang и передаст сценарий соответствующему интерпретатору.
Настройка строки Shebang в ваших сценариях
Сказать ядру, какой интерпретатор запускать в ваших сценариях, очень просто. Просто поставь абсолютный путь интерпретатора, который вы хотите запустить, в строке shebang, за которой следуют любые параметры.
Например, чтобы запустить скрипт Bash:
#!/бин/баш
Дай свой сценарий выполнять разрешения с помощью chmod:
chmod +x script.sh
Теперь вы сможете запустить свой скрипт из командной строки.
Теперь вы знаете о линии Shebang
Теперь вы знаете, как работает строка shebang для запуска скриптов в Linux. "#!" просто сообщают ядру, какой интерпретатор запускать. Bash входит в состав большинства систем Linux.
Несмотря на популярность таких языков сценариев, как Python, Bash по-прежнему полезен для написания сценариев для автоматизации задач администрирования Linux. В Linux легко писать и запускать сценарии Bash.