Ответ
В shebang (#!) можно указать путь к любому интерпретатору, который способен выполнить текст скрипта. Главное условие — бинарный файл должен существовать по указанному пути.
Распространенные примеры:
- Python:
#!/usr/bin/env python3(рекомендуется для кроссплатформенности) - Perl:
#!/usr/bin/perl - PHP:
#!/usr/bin/php - Ruby:
#!/usr/bin/ruby - Node.js:
#!/usr/bin/env node
Пример скрипта на Python:
#!/usr/bin/env python3
import sys
print(f"Hello from {sys.version}!")
Требования для работы:
- Строка shebang должна быть первой в файле.
- Файлу должны быть выданы права на выполнение:
chmod +x script.py. - Указанный интерпретатор должен быть установлен и доступен в системе.
Важное замечание: Использование /usr/bin/env (как в #!/usr/bin/env python3) предпочтительнее, так как оно ищет интерпретатор в переменной PATH пользователя, а не по жесткому пути. Для компилируемых языков (Go, Rust) скрипты обычно не используют shebang, а создают нативные бинарники.