PROMPT_COMMAND在重新启动之前没有执行

时间:2015-04-17 16:48:54

标签: shell

我有一个shell脚本,PROMPT_COMMAND设置为一个函数。据我所知PROMPT_COMMAND将在显示PS1指向的下一个提示之前执行{如果我错了请纠正我。)

有一种情况是我的系统甚至在下一个提示出现之前就进行了重启,因此PROMPT_COMMAND没有针对这种情况执行。

我需要执行PROMPT_COMMAND指向的功能,即使提示没有显示,我还能做到吗?

我的PROMPT_COMMAND记录用户传递的输入,类似于历史记录

我是shell的新手,所以请帮助我。

平台:嵌入式平台 代码无法共享

2 个答案:

答案 0 :(得分:1)

没有。

  

在Bash打印每个主要提示

之前检查变量PROMPT_COMMAND的值

https://www.gnu.org/software/bash/manual/bashref.html#Controlling-the-Prompt

无论你想做什么,你都需要找到一种不同的方式来做到这一点。

答案 1 :(得分:0)

您是否尝试过设置shell陷阱?

function my_exit_hook() {
  clilog "Shell exiting"  # Or whatever.
}
trap my_exit_hook EXIT TERM

为了它的价值,我维护了一个开源命令历史记录器,它已经完成了非常类似的事情。 https://github.com/barabo/advanced-shell-history

您可以在此处参考我的特定陷阱示例: https://github.com/barabo/advanced-shell-history/blob/82f9a92650040ed12a6cad511108396fa9a28dbe/shell/common#L86