在樹莓派上啟動 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 命令,但它將其讀取為設定文件,而不是作業系統腳本。手冊頁沒有提及任何有關 test 關鍵字的內容,也沒有任何關於從設定檔執行 shell 腳本的指示。

需要做什麼才能正確處理 Muttrc.d 檔案?

mutt -v
NeoMutt 20170113 (1.7.2)

答案1

您的/etc/Muttrc.我的盒子上stretch寫著:

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

|該行末尾的 很重要。在裡面Mutt手冊我們在《教派》中讀到。 27:

如果檔案名稱以垂直線(“|”)結尾,則檔案名稱被認為是從中讀取輸入的可執行程式(例如source ~/bin/myscript|)。

由於某些原因,即使muttrc版本 1.10.1 中的線上說明頁也沒有記錄該功能,但對應的 來自 neomutt 的線上說明頁做。

相關內容