Beim Starten von Mutt auf Raspberry Pi treten Fehler bei der Verarbeitung von Muttrc auf.

Beim Starten von Mutt auf Raspberry Pi treten Fehler bei der Verarbeitung von Muttrc auf.

Ich habe vor Kurzem meinen Pi mit apt-get aktualisiert und dabei Stretch ausgeführt. Wenn ich Mutt starte, werden die folgenden Fehlermeldungen angezeigt.

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

Wenn ich mir /usr/lib/mutt/source-muttrc.d (unten) anschaue, scheint es unkompliziert. Wenn ich die Befehle manuell ausführe (einschließlich /bin/sh -e).

#!/bin/sh -e

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

/etc/Muttrc hat:

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

Die Manpage für muttrc enthält den Quellbefehl, liest ihn jedoch als Konfigurationsdatei und nicht als Betriebssystemskript. Die Manpage sagt nichts über das Schlüsselwort „test“ oder einen Hinweis darauf, ein Shellskript aus der Konfigurationsdatei auszuführen.

Was muss getan werden, um die Muttrc.d-Dateien korrekt zu verarbeiten?

mutt -v
NeoMutt 20170113 (1.7.2)

Antwort1

Es scheint einen Fehler (aus welchem ​​Grund auch immer) in Ihrem zu geben /etc/Muttrc. Auf meiner stretch-Box lauten die Zeilen:

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

Das |am Ende der Zeile ist wichtig. In derMutt-Handbuchwir lesen in Abschnitt 27:

Wenn der Dateiname mit einem senkrechten Strich („|“) endet, wird der Dateiname als ausführbares Programm betrachtet, aus dem die Eingabe gelesen werden kann (z. B. Quelle ~/bin/myscript|).

Aus irgendeinem Grund muttrcist diese Funktion nicht einmal in der Manpage der Version 1.10.1 dokumentiert, sondern in der entsprechenden Manpage von Neomutttut.

verwandte Informationen