使用 bash shell,您可以在合成DEBUG信号上安装陷阱。这很有用,并且会在每个 shell 命令上执行您的函数或代码。例如:
$ trap 'logger -t shell "${BASH_COMMAND}"' DEBUG
Run Code Online (Sandbox Code Playgroud)
例如,这里的想法是将陷阱安装在放入的文件中,/etc/profile.d/bash-logger并让任何用户 shell 会话命令在发生时自动记录到系统日志中。这对于轻松跟踪远程命令也很有用。
查看 dash shell 源代码,我似乎明白没有这样的DEBUG信号可用。
是否有任何解决方法或替代方法可以使用破折号外壳实现相同的结果?