首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用emacs读取文件时,如何设置Shell-script模式的"shell“?

在用emacs读取文件时,如何设置Shell-script模式的"shell“?
EN

Stack Overflow用户
提问于 2021-10-14 19:12:02
回答 1查看 176关注 0票数 0

我有一些文件本身不是shell脚本,而是设计为由shell脚本提供的。因此,文件名与auto-mode-alist中的任何模式不匹配(我也不想尝试对每个文件进行更新)。

当我编辑一个bash脚本(例如,foo.bash)时,emacs正确地演绎了shell,模式行显示了Shell-script[bash]。我认为,无论是基于文件名还是基于shebang行,都是无关紧要的。我想对我的“非脚本”脚本文件强制这种行为。

我想出来的是:

代码语言:javascript
复制
# -*- mode: Shell-script; eval (sh_set_shell "bash"); -*-

但这对eval提出了警告(这是正确的)。否则我如何为Shell-script模式设置方言?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-15 10:10:39

除了主要模式之外,还可以使用文件局部变量块并设置sh-shell

代码语言:javascript
复制
# Local Variables:
# mode: shell-script
# sh-shell: bash
# End:

如果您不喜欢这个大的(更易读的:)块,一个班轮将执行niceley (下面的@jwm注释):

代码语言:javascript
复制
# -*- mode: Shell-script; sh_shell: "bash"; -*-

Nota Bene:根据文档,使用文件局部变量sh-shell等效于调用sh-set-shell,以及设置此方法的预定方式:

Shell脚本文件可以通过具有“`sh shell”文件局部变量的“`sh shell”文件局部变量在访问该文件时自动调用该函数,该变量的值为shell名称(不要引用它)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69576178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档