拥有一堆bash脚本,从中触发python
,bash
,sqlplus
,php
脚本,可以创建某种bash包装器,拦截每个呼叫并修改它,例如给定some_script.sh
以下代码
#! /bin/bash
source $SOME_ENV/activate
python some_script.py
我想要而不是致电$: python some_script.py
来电$: time python some_script.py
所以我想做的是拦截对python, php, sqlplus
或其他的调用
并在每个调用中插入time
命令,而不是收集时间并将其保存到某个地方,知道这个时间与哪个脚本相关。
有可能吗?
答案 0 :(得分:2)
如果activate
应启用此功能,则可以使用以下函数填充:
python() {
echo python "$@" >>timelog.txt
{ time command python "$@" } 2>>timelog.txt; }
}
这不会像time
内置通常正常工作那样完成。特别是,它不会时间流水线;它只会python
调用自己的时间。此外,从脚本到stderr的任何输出都将重定向到日志文件。