命令运行完成后,我的 Bash 会使用PROMPT_COMMAND="history -a; history -c; history -r;"
.有没有办法(无需修补 Bash 本身、修改我的命令或任何 I/O 副作用,例如echo
在运行命令之前执行命令)来保存命令开始运行而不是完成时?
答案1
trap 'history -a; history -c; history -r' DEBUG
将要运行指定的命令:
在每个简单命令、
for
命令、case
命令、select
命令、每个算术for
命令之前以及在 shell 函数中执行第一个命令之前
这确实意味着每一个。输入的命令已经存在于内存历史记录中,并且将会写入磁盘。