라즈베리 파이에서 Mutt를 시작하면 Muttrc 처리 중 오류가 발생합니다.

라즈베리 파이에서 Mutt를 시작하면 Muttrc 처리 중 오류가 발생합니다.

나는 최근에 파이를 업그레이드하고 스트레칭을 했습니다. 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 키워드에 대한 내용이나 구성 파일에서 쉘 스크립트 실행에 대한 표시가 없습니다.

Muttrc.d 파일을 올바르게 처리하려면 어떻게 해야 합니까?

mutt -v
NeoMutt 20170113 (1.7.2)

답변1

어떤 이유로든 오류가 있는 것 같습니다 /etc/Muttrc. 내 stretch-box에 다음 줄이 표시됩니다.

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

|줄의 끝이 중요합니다 . 에서Mutt 매뉴얼우리는 섹션에서 읽었습니다. 27:

파일 이름이 수직 막대("|")로 끝나면 파일 이름은 입력을 읽을 수 있는 실행 가능한 프로그램으로 간주됩니다(예: 소스 ~/bin/myscript|).

어떤 이유로 muttrc버전 1.10.1의 맨페이지에도 해당 기능이 문서화되어 있지 않지만 해당하는 neomutt의 맨페이지하다.

관련 정보