Как я могу заставить режим shell-script в Emacs интерпретировать #PBS -S / bin / bash как код оболочки bash?

665
Stephen Alter

Я использую Emacs в системе LINUX, которая использует Portable Batch System (PBS) для управления использованием ресурсов. Сценарии PBS требуют "#PBS -S / bin / ..." в качестве первой строки в сценарии, чтобы объявить оболочку сценария для PBS. Когда я загружаю скрипт в Emacs, нет #! / Bin / ... для предупреждения Emacs о том, какая оболочка программируется. Итак, как мне заставить режим shell-script в Emacs интерпретировать #PBS -S / bin / bash как код оболочки bash?

3

2 ответа на вопрос

1
legoscia

Add this to your .emacs:

(setq auto-mode-interpreter-regexp "#\\(?:!\\|PBS -S \\)[ \t]?\\([^ \t\n]*/bin/env[ \t]\\)?\\([^ \t\n]+\\)") 

That makes Emacs consider #PBS -S as an alternative to the #! prefix.

0
Haider

Добавьте что-то вроде следующего в конец файла:

# Local Variables: # mode: shell-script # End:  

Конечно, есть и другие способы, такие как отдельный шаблон именования, используемый для установки переменной auto-mode-alist.

Похожие вопросы