3

TCL内のすべてのソースファイルを一覧表示するコマンドはありますか?

a.tcl例-ファイル内の、、b.tclをソースc.tcltest.tclます。ソースファイルを表示するためのTCLコマンドはありますか?

4

1 に答える 1

7

いいえ。ただし、次のように、コマンド自体をオーバーライドして、どこかで'dファイルsourceを追跡できます。source

rename source __real_source
proc source args {
    global sourced
    lappend sourced $args
    uplevel 1 [linsert $args 0 __real_source]
}

更新:コマンドの脆弱​​性に関するDonalのコメントを拡張してsource、実行トレースを設定する方法があります。

proc register_sourced {cmd args} {
  global sourced
  lappend sourced [lindex $cmd end]
}
trace add execution source leave register_sourced
于 2012-04-10T10:30:01.510 に答える