在每个 shell 命令的末尾添加一个后缀

ioa*_*anD 6 command-line 14.04

是否可以在终端中键入的每个命令的末尾自动添加一些字符。

例如,如果我写

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

shell 将执行

sudo apt-get update && notify-send Done
Run Code Online (Sandbox Code Playgroud)

没有我写的&& notify-send Done部分。

提前致谢!

Syl*_*eau 6

如果您使用的bash是默认 shell,则可以设置PROMPT_COMMAND.

bash手册页:

PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
Run Code Online (Sandbox Code Playgroud)

因此,只需将以下行粘贴到您.bashrc的每个命令中即可获得通知:

PROMPT_COMMAND="notify-send Done"
Run Code Online (Sandbox Code Playgroud)

因此,每次调用 bash 提示时(命令完成时的正常行为,成功与否),您都会收到通知。

注意:如果您按Enter提示将再次显示,您也会收到通知。