是否可以在终端中输入的每个命令末尾自动添加一些字符。
例如,如果我写
sudo apt-get update
shell 将执行
sudo apt-get update && notify-send Done
没有我写这个&& notify-send Done
部分。
提前致谢!
答案1
如果您使用bash
作为默认 shell,则可以设置PROMPT_COMMAND
。
从bash
手册页中:
PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
因此,只需粘贴以下行即可.bashrc
获得每个命令的通知:
PROMPT_COMMAND="notify-send Done"
因此,每次调用 bash 提示符时(命令完成时的正常行为,无论成功与否),您都会收到通知。
笔记:如果您按下,您也会收到通知,Enter因为提示将再次显示。
答案2
您可以将一些字符绑定到一个enter键:
$ bind '"\C-M":" && echo test\n"'
这样做有一些缺点,例如如果你只按 Enter 键:
-bash: syntax error near unexpected token `&&'
您可以通过用字符终止行来阻止此效果#- 它会将附加的文本变成无害的注释。
但我还是要说,这听起来是一个非常糟糕的主意。