不,但您可以覆盖source命令本身以跟踪source某处的'd文件,如下所示:
rename source __real_source
proc source args {
global sourced
lappend sourced $args
uplevel 1 [linsert $args 0 __real_source]
}
Run Code Online (Sandbox Code Playgroud)
更新:扩展Donal关于source命令脆弱性的评论,可以设置执行跟踪:
proc register_sourced {cmd args} {
global sourced
lappend sourced [lindex $cmd end]
}
trace add execution source leave register_sourced
Run Code Online (Sandbox Code Playgroud)