Я использую Emacs в системе LINUX, которая использует Portable Batch System (PBS) для управления использованием ресурсов. Сценарии PBS требуют "#PBS -S /bin /..." в качестве первой строки в сценарии, чтобы объявить оболочку сценария для PBS. Когда я загружаю скрипт в Emacs, # нет!/bin /... чтобы предупредить Emacs о том, какая оболочка программируется. Итак, как мне заставить режим shell-script в Emacs интерпретировать #PBS -S /bin /bash как код оболочки bash?
2 ответа
1
Добавьте это к вашему .emacs
:
(setq auto-mode-interpreter-regexp
"#\\(?:!\\|PBS -S \\)[ \t]?\\([^ \t\n]*/bin/env[ \t]\\)?\\([^ \t\n]+\\)")
Это заставляет Emacs рассматривать #PBS -S
как альтернативу #!
префикс.
0
Добавьте что-то вроде следующего в конец файла:
# Local Variables:
# mode: shell-script
# End:
Конечно, есть и другие способы, такие как отдельный шаблон именования, используемый для установки переменной auto-mode-alist.