我最近 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 的線上說明頁做。