<分区>
有没有办法在 bash 脚本中使用 EDITOR 或 VISUAL 环境变量来使用用户选择的编辑器编辑给定文件?
<分区>
有没有办法在 bash 脚本中使用 EDITOR 或 VISUAL 环境变量来使用用户选择的编辑器编辑给定文件?
最佳答案
您可以使用以下内容:
${VISUAL:-${EDITOR:-vi}} "${filename}"
这将使用 VISUAL
变量(如果已设置),否则将使用 EDITOR
,如果两者均未设置,它将回退到 vi
。
如果您愿意,可以使用不同的回退。特别是,基于 Debian 的发行版通常会附带一个 binary named editor
系统管理员可以控制将系统范围的默认编辑器设置为后备...
vi
通常无处不在,因此它可能是一个合适的默认值。
请注意,此处未引用变量。不幸的是,这是必要的,因为 EDITOR
或 VISUAL
设置可以包含命令参数,因此需要支持分词。
例如,可以使用 EDITOR="emacs -nw"
强制在终端(而不是窗口系统)上使用 Emacs,或者 EDITOR="vim -u $HOME/.vim/custom-vimrc"
让 Vim 在由外部程序启动时使用自定义配置。
更新:颠倒了顺序,首先尝试 $VISUAL
,然后是 $EDITOR
,因为这似乎是最常见的设置(例如Mutt邮件客户端、git等)
关于bash - 如何以安全的方式调用 "EDITOR"环境变量来打开/编辑文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60461586/