3

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

2 ответа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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .