我想在开头打印我在命令中运行的任何进程的PID(即使它不是后台进程)。
我想出了这个:
fn() {
eval $1
}
现在每当我运行命令时,我希望它被处理为
fn "actual_command_goes_here"&; wait
这样会触发后台进程(将打印PID),然后运行实际命令。例如:
$ fn "sleep 5; date +%s; sleep 5; date +%s; sleep 2"&; wait
[1] 29901
1479143885
1479143890
[1] + 29901 done fn "..."
我的问题是:有没有办法在Bash / ZSH中为所有命令创建包装函数?也就是说,当我运行ls
时,它应该实际运行fn "ls"&; wait
。