У вас есть несколько вариантов.
--language-force=sh
самый простой. Тот, который вы пробовали, --force-language=sh
, не существует.
Другой вариант будет использовать пользовательское расширение (скажем, .cst
) и параметр --langmap=sh:+.cst
.
Если вы видите +wildcards
в выводе ctags --version
, вы также можете использовать шаблоны имен файлов, заключенные в скобки, вместо пользовательского расширения, т. Е. Вы вызываете все ваши my_custom_shebang
сценарии с именем, начинающимся с cst_
и вы можете использовать --langmap='sh:+(cst_*)'
.
В качестве заключительного замечания, я понимаю, что жаргонный термин шебанг относится к двум символам #!
, и, как следствие, к целой строке, начинающейся с них, а не к конкретному интерпретатору команд будучи призванным. Поэтому я бы перефразировал ваш пример нестандартного шебанга как
#!/usr/bin/env my_custom_interpreter
но это действительно педантичное замечание.