zshメール通知(maildirにあります)

zshメール通知(maildirにあります)

メールボックス形式だけでなくmaildirも読むように、次のように変更するにはどうすればよいですか?

typeset -a mailpath
for i in ~/Mail/Lists/*(.); do
   mailpath[$#mailpath+1]="${i}?You have new mail in ${i:t}."
done

現在私は以下を得ます:

/home/XXX/.zshrc:77: no matches found: /home/XXX/.Mail/Lists/*(.)

答え1

new呼び出しの下のディレクトリを列挙する必要があります~/Mail/Lists/。これはただいくつかの質問ですグローバル予選/一致するディレクトリNがない場合は、拡張子が空になる可能性があります。${i:h:t}代わりにメールボックス名の表示を使用してくださいnew

for i in ~/Mail/Lists/**/new(/N); do
  mailpath+=("${i}?You have new mail in ${i:h:t}.")
done

e不思議ではありますが、glob修飾子を使用して行を作成できます。

maildirs+=(~/Mail/Lists/**/new(/Ne\''REPLY="${REPLY}?You have new mail in ${REPLY:h:t}."'\'))

関連情報