diff --git a/tech/Shell.md b/tech/Shell.md index d6d6954b..478cda9d 100644 --- a/tech/Shell.md +++ b/tech/Shell.md @@ -59,3 +59,26 @@ D: ``` ## PowerShell + + +# Shebang `!#` + +**Шебанг** (англ. `shebang`, `sha-bang`, `sharp-exclamation`, `hashbang`, `pound-bang`, `hash-pling`) - последовательность из двух символов `#!` в начале скрипта. + +Если Unix выполняет скрипт с шебангом в начале скрипта, загрузчик программ рассматривает остаток строки после шебанга как имя файла программы-интерпретатора. + +Например, чтобы выполнить файл с помощью `sh` (`Bourne shell`), необходимо написать в начале скрипта. +```sh +#!/bin/sh +... +``` + +Поскольку `#` является символов начала комментария во многих скриптовых языках программирования, строка с шебангом обычно пропускается интерпретатором. + +JavaScript не является таким языком, поскольку комментарии в нём объявляются через `/**/`, `//`. Однако в ES14 (ECMAScript2023) добавили поддержку шебанга. +``` +#! interpreter [optional-arg] +``` +Скриншот из Chrome: +![image](https://github.com/Max-Starling/Notes/assets/22237384/c15eeac6-e9d6-495d-b9ad-6a54be56dc22) +