Почти всеки Linux shell скрипт започва с ред, започващ с "#!". Това е известно като "shebang". Ето всичко, което трябва да знаете за него.
Може да сте виждали странен ред, започващ с "#!“ в началото на Linux скриптовете и се чудех какво е това. Това се нарича "линия shebang" и позволява на Linux да каже кой интерпретатор да използва. Ето как работи.
Какво представлява линията Shebang?
Една Linux система има много скриптове, които автоматизират различни домакински задачи. Потребителите и администраторите също пишат свои собствени скриптове.
Въпреки нарастването на популярните скриптови езици като Ruby или Python, дистрибуциите на Linux също обикновено са оборудвани с няколко обвивки. Bash е де факто стандарт за основните дистрибуции, но има много налични обвивки.
Има Zsh, както и C shell, Korn Shell и tcsh. И Риба. И тогава добрата стара черупка на Борн. Освен че всъщност е Bash, свързан символично към sh.
Така че не само има различни скриптови езици, има и различни обвивки. Тези обвивки имат различен синтаксис и команди един от друг. Как казвате на Linux кой интерпретатор да използва?
Това прави линията shebang. Това е последователност от знаци, която стартира интерпретирани скриптове. Носи името си от два жаргонни термина за "#" и "!"знаци. Първият се нарича "хеш". Може да го познаете от термина „хаштаг“.
Знакът "!" е известен също като бретон. Комбинацията от двете е "shebang", игра на фразата "the whole shebang".
Как Linux определя кой интерпретатор да използва
Може да забележите, че "#" знакът също е коментар на много езици. Как системата избягва конфликти? Това е лесно. Повечето езикови интерпретатори просто игнорират "#" знаци, ако са на първия ред.
Вместо това ядрото ще разгледа линията shebang и ще предаде скрипта на подходящия интерпретатор.
Задаване на линията Shebang във вашите скриптове
Да кажете на ядрото кой интерпретатор да стартира във вашите скриптове е лесно. Просто сложи абсолютният път на интерпретатора, който искате да стартирате в реда shebang, последван от всякакви опции.
Например, за да стартирате Bash скрипт:
#!/bin/bash
Дайте своя сценарий изпълнете разрешения с помощта на chmod:
chmod +x скрипт.sh
Вече ще можете да стартирате вашия скрипт от командния ред.
Сега знаете за линията Shebang
Сега знаете как работи линията shebang за изпълнение на скриптове в Linux. "#!" знаците просто казват на ядрото кой интерпретатор да стартира. Този, който идва с повечето Linux системи, е Bash.
Въпреки популярността на скриптовите езици като Python, Bash остава полезен за писане на скриптове за автоматизиране на задачи за администриране на Linux. Лесно е да пишете и изпълнявате Bash скриптове на Linux.