![从顶行执行终端中的每个命令/在每个命令之前执行清除](https://linux22.com/image/107522/%E4%BB%8E%E9%A1%B6%E8%A1%8C%E6%89%A7%E8%A1%8C%E7%BB%88%E7%AB%AF%E4%B8%AD%E7%9A%84%E6%AF%8F%E4%B8%AA%E5%91%BD%E4%BB%A4%2F%E5%9C%A8%E6%AF%8F%E4%B8%AA%E5%91%BD%E4%BB%A4%E4%B9%8B%E5%89%8D%E6%89%A7%E8%A1%8C%E6%B8%85%E9%99%A4.png)
我想问是否可以在 bash 中设置,以便每个命令都从终端窗口的顶部执行。换句话说,是否可以clear
在每个命令之前执行。
另外我想知道是否可以在不使用preexec()
钩子的情况下执行此操作,因为我在 bash 中禁用了历史记录。
答案1
你可以在 bashrc 上执行此操作:
export PROMPT_COMMAND="clear; $PROMPT_COMMAND"
根据 Bash 手册:
提示命令
如果设置,该值将被解释为在打印每个主提示 ($PS1) 之前执行的命令。
因此,每次您按 Enter 提交命令时,Bash 都会在执行命令后为您清除屏幕。但您将无法看到命令的输出。