Answers:
您需要设置PROMPT_COMMAND
变量。来自man bash
:
PROMPT_COMMAND
If set, the value is executed as a command prior to
issuing each primary prompt.
例如,这将在/tmp/PC
每次执行命令时将当前日期写入:
$ PROMPT_COMMAND="date > /tmp/PC"
echo $(date)
将在声明时运行,因此将始终显示(保存)同一时间。
您正在寻找PROMPT_COMMAND
环境变量,此变量的值将在终端中给定的每个命令执行完之后,正好显示下一个提示之前作为命令执行。
例如,将其设置为:
export PROMPT_COMMAND='/path/to/script'
首先使脚本/path/to/script
可执行。
现在,该脚本将在每个命令之后运行。
只是要注意,如果您不希望导出该变量,即将其设置为shell变量而不是环境变量,请执行以下操作export
:
PROMPT_COMMAND='/path/to/script'
来自man bash
:
PROMPT_COMMAND
If set, the value is executed as a command prior to issuing each primary prompt.
export
?
export
将使该变量PROMPT_COMMAND
成为环境变量,即该变量将可用于当前外壳程序的所有子进程(例如子外壳程序)。如果只想将其限制在当前的shell会话中(shell变量),请删除export
。
export
在这里不是一个好习惯- PROMPT_COMMAND
只能在交互式shell启动文件中设置,并且在环境中不可见