我想在终端中执行的每个命令之前和之后运行一个命令(即clear
before 和 then reset
)。我希望这自动发生,而不是使用短别名或类似的东西。
我研究过 bashrc 和 /usr/share/bash-completion/bash_completion,尽管后者似乎只是为了实现带有Tab? 的自动完成功能。
我应该在哪里做出更改?
答案1
在你的.bashrc
:
function process_command() {
... do something with $BASH_COMMAND ...
}
trap process_command DEBUG
欲了解典型示例,请参阅“让 gnome-terminal 显示正在运行的命令为标题“在 AskUbuntu 上。
为了解决原始海报要求clear
在命令前和reset
命令后运行的问题,请添加到.bashrc
:
function before_command() {
case "$BASH_COMMAND" in
$PROMPT_COMMAND)
;;
*)
clear;
esac
}
function before_prompt() { reset ; }
trap before_command DEBUG
PROMPT_COMMAND=before_prompt
寻找和。man bash
PROMPT_COMMAND
trap .-lp