1、zsh中的邮件通知:
我认为这就像 bash;MAILCHECK
如果 shell 知道在哪里查找邮件并且参数设置为非负整数,则会发生邮件通知。
2.更改邮件通知消息。
(来自man bash
):
MAILPATH
A colon-separated list of file names to be checked for mail. The message to be
printed when mail arrives in a particular file may be specified by separating
the file name from the message with a '?'. When used in the text of the
message, $_ expands to the name of the current mailfile. Example:
MAILPATH='/var/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
Bash supplies a default value for this variable, but the location of the user
mail files that it uses is system dependent (e.g., /var/mail/$USER).
我认为zsh
大致相同,除了也暴露mailpath
为MAILPATH
.
3.运行任意命令:
在bash
中, 的值PS1
作为命令提示符打印。除非promptvars
选项未设置(默认设置),否则字符串在使用前会经过参数扩展、命令替换、算术扩展和引号删除。其中第二个意味着您可以在命令提示符下执行任意 shell 命令。
zsh
具有相同的功能,由 shell 选项控制promptsubst
(或者PROMPT_SUBST
,如手册页所述)。与 不同bash
的是,默认情况下未设置 shell 选项。此外,您可能会发现您无法更改PS1
(如果您的发行版使用提示主题)的值,因为提示主题PS1
在每个命令提示符之前都会重置。
事实证明,zsh
在打印提示之前(或在其他情况下;我只关注这种情况)运行 shell 函数的机制不同。有一个名为的数组参数precmd_functions
,其值是将在每次提示之前运行的函数的名称。PS1
(提示主题系统使用此机制在打印之前重置。)