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

您可以使用eglob 限定符使其成为一行,尽管是一个神秘的行。

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

相关内容