1. zsh でのメール通知:
bash と同じだと思います。シェルがメールを探す場所を知っていて、MAILCHECK
パラメータが負でない整数に設定されている場合、メール通知が行われます。
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
オプションが設定されていない (デフォルトで設定されている) 場合を除き、文字列は、使用される前にパラメーター展開、コマンド置換、算術展開、および引用符の削除を受けます。2 つ目は、コマンド プロンプトの一部として任意のシェル コマンドを実行できることを意味します。
zsh
シェルオプションpromptsubst
(またはPROMPT_SUBST
、マンページにあるように)によって制御される同じ機能があります。とは異なりbash
、シェル オプションはデフォルトでは設定されていません。また、プロンプト テーマはすべてのコマンド プロンプトの前にPS1
リセットされるため、(ディストリビューションでプロンプト テーマを使用している場合)の値を変更できない場合があります。PS1
zsh
には、プロンプトが表示される前にシェル関数を実行するための別のメカニズムがあることがわかりました (または他の状況では、この 1 つのケースに焦点を当てます) 。precmd_functions
値がすべてのプロンプトの前に実行される関数の名前であるという配列パラメーターがあります。(プロンプト テーマ システムは、このメカニズムを使用して、PS1
印刷前にリセットします。)