似乎通过执行PS0和PS1变量中的代码(据我所知,在运行提示命令之前和之后评估),应该可以记录每个正在运行的命令的时间并将其显示在提示中。像这样:
user@machine ~/tmp
$ sleep 1
user@machine ~/tmp 1.01s
$
Run Code Online (Sandbox Code Playgroud)
但是,由于这样的事情不起作用,我很快就陷入了PS0中的录制时间:
PS0='$(START=$(date +%s.%N))'
Run Code Online (Sandbox Code Playgroud)
据我了解,START分配发生在子外壳中,因此在外壳中不可见。您将如何处理?