У мене є проект, який складається з приблизно 20 невеликих .sh
файлів. Я називаю ці "малі", тому що загалом жоден файл не має більше 20 рядків коду. Я застосував модульний підхід, тому що я відданий філософії Unix і мені простіше підтримувати проект.
На початку кожного .sh
файлу я кладу #!/bin/bash
.
Простіше кажучи, я розумію, що декларації сценарію мають дві цілі:
- Вони допомагають користувачеві згадати, яка оболонка потрібна для виконання файлу (скажімо, через кілька років, не використовуючи файл).
- Вони гарантують, що сценарій працює лише з певною оболонкою (у цьому випадку Bash), щоб запобігти несподіваній поведінці у випадку, якщо використовується інша оболонка.
Коли проект починає зростати від 5 скажімо до 20 файлів або з 20 файлів до 50 файлів (не в цьому випадку, а просто для демонстрації), у нас є 20 рядків або 50 рядків декларацій сценарію. Зізнаюся, хоч комусь це і може бути смішним, мені здається трохи надмірним використовувати 20 чи 50, замість цього кажу лише 1 на проект (можливо, в основному файлі проекту).
Чи є спосіб уникнути цього передбачуваного надмірності 20 або 50 або набагато більшої кількості рядків декларацій скриптів, використовуючи деяку "глобальну" декларацію сценарію, в якомусь головному файлі?
/bin/bash -x "$script"