在树莓派上启动 Mutt 时出现处理 Muttrc 的错误

在树莓派上启动 Mutt 时出现处理 Muttrc 的错误

我最近用 apt-get 升级了我的 pi,运行了 stretch。当我启动 mutt 时,它显示以下错误消息。

Error in /usr/lib/mutt/source-muttrc.d, line 3: for: unknown command
Error in /usr/lib/mutt/source-muttrc.d, line 4: test: unknown command
Error in /usr/lib/mutt/source-muttrc.d, line 5: done: unknown command
Error in /etc/Muttrc, line 147: source: errors in /usr/lib/mutt/source-muttrc.d

查看 /usr/lib/mutt/source-muttrc.d(如下),这似乎很简单。如果我手动运行命令(包括 /bin/sh -e)。

#!/bin/sh -e

for rc in /etc/Muttrc.d/*.rc; do
    test -r "$rc" && echo "source \"$rc\""
done

/etc/Muttrc 包含:

##
# See /usr/share/doc/mutt/README.Debian for details.
source /usr/lib/mutt/source-muttrc.d

muttrc 的手册页中有 source 命令,但它将其读取为配置文件,而不是 os 脚本。手册页没有提到 test 关键字,也没有提到从配置文件运行 shell 脚本。

要正确处理 Muttrc.d 文件需要做什么?

mutt -v
NeoMutt 20170113 (1.7.2)

答案1

您的 中似乎有一个错误(无论出于什么原因)/etc/Muttrc。在我的stretch-box 上,以下行显示:

source /usr/lib/mutt/source-muttrc.d|

|行尾的 很重要。杂种手册我们在第27节中读到:

如果文件名以竖线(“|”)结尾,则文件名被视为可从中读取输入的可执行程序(例如 source ~/bin/myscript|)。

出于某种原因,甚至muttrc版本 1.10.1 中的手册页也没有记录该功能,但相应的 neomutt 的手册页做。

相关内容