Sur*_*ani 5 email zsh shell apple-mail macos
我正在使用 OS X,我想知道我的 Mail.app 中是否有任何未读邮件?我想把这个数字放在我的 shell 提示中。
我该怎么做?
首先,按照此处的说明设置提示以执行替换:Get Function Into PS1 (Zsh)?
只需在您的.zshrc
文件中附加以下内容。
setopt PROMPT_SUBST
Run Code Online (Sandbox Code Playgroud)
然后,找到一个 AppleScript 来计算您的未读邮件,例如来自马特·斯温的 Geeklets 的这个。下载的.scpt
文件,并将其放在某个地方,比如~/Scripts/mail_count.scpt
。
请注意,需要运行 Mail.app 才能使所有这些工作正常进行。在您的 中.zshrc
,创建一个调用 AppleScript 的函数:
function mail_count {
osascript ~/Scripts/mail_count.scpt
}
Run Code Online (Sandbox Code Playgroud)
最后,根据新函数重新定义提示。以下是最基本的方法——但可以根据需要随意添加自己的变量:
PROMPT='$(mail_count) '
Run Code Online (Sandbox Code Playgroud)
如果您不想弄乱您的提示或使用 oh-my-zsh 样式之一,甚至promptinit
模块,您也可以只使用该precmd()
函数,在该函数中您可以定义在执行另一个命令之前应该运行的任何内容. 在这种情况下,您将不需要该PROMPT_SUBST
选项。
precmd() {
mail_count
}
Run Code Online (Sandbox Code Playgroud)
无论您使用哪种方法,您的未读邮件计数都将以纯文本形式输出。如果要更改消息,请查看.scpt
文件的来源并相应地进行修改。
归档时间: |
|
查看次数: |
605 次 |
最近记录: |