从顶行执行终端中的每个命令/在每个命令之前执行清除

从顶行执行终端中的每个命令/在每个命令之前执行清除

我想问是否可以在 bash 中设置,以便每个命令都从终端窗口的顶部执行。换句话说,是否可以clear在每个命令之前执行。

另外我想知道是否可以在不使用preexec()钩子的情况下执行此操作,因为我在 bash 中禁用了历史记录。

答案1

你可以在 bashrc 上执行此操作:

export PROMPT_COMMAND="clear; $PROMPT_COMMAND"

根据 Bash 手册:

提示命令

如果设置,该值将被解释为在打印每个主提示 ($PS1) 之前执行的命令。

因此,每次您按 Enter 提交命令时,Bash 都会在执行命令后为您清除屏幕。但您将无法看到命令的输出。

相关内容